diff --git a/.gitmodules b/.gitmodules index f8ebf7732..e697fbae0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,61 +3,61 @@ url = git://git.linphone.org/linphone [submodule "submodules/externals/gsm"] path = submodules/externals/gsm - url = git://git.linphone.org/gsm.git + url = git://git.linphone.org/gsm [submodule "submodules/externals/speex"] path = submodules/externals/speex - url = git://git.linphone.org/speex.git + url = git://git.linphone.org/speex [submodule "submodules/msilbc"] path = submodules/msilbc - url = git://git.linphone.org/msilbc.git + url = git://git.linphone.org/msilbc [submodule "submodules/libilbc-rfc3951"] path = submodules/libilbc-rfc3951 - url = git://git.linphone.org/libilbc-rfc3951.git + url = git://git.linphone.org/libilbc-rfc3951 [submodule "submodules/externals/opencore-amr"] path = submodules/externals/opencore-amr url = git://git.linphone.org/opencore-amr ignore = dirty [submodule "submodules/msamr"] path = submodules/msamr - url = git://git.linphone.org/msamr.git + url = git://git.linphone.org/msamr [submodule "submodules/externals/ffmpeg"] path = submodules/externals/ffmpeg - url = git://git.linphone.org/ffmpeg.git + url = git://git.linphone.org/ffmpeg [submodule "submodules/externals/x264"] path = submodules/externals/x264 - url = git://git.linphone.org/x264.git + url = git://git.linphone.org/x264 ignore = dirty [submodule "submodules/msx264"] path = submodules/msx264 - url = git://git.linphone.org/msx264.git + url = git://git.linphone.org/msx264 [submodule "submodules/externals/libvpx"] path = submodules/externals/libvpx - url = https://github.com/webmproject/libvpx + url = git://git.linphone.org/libvpx ignore = dirty [submodule "submodules/bzrtp"] path = submodules/bzrtp - url = git://git.linphone.org/bzrtp.git + url = git://git.linphone.org/bzrtp [submodule "submodules/mssilk"] path = submodules/mssilk - url = git://git.linphone.org/mssilk.git + url = git://git.linphone.org/mssilk [submodule "submodules/externals/srtp"] path = submodules/externals/srtp - url = git://git.linphone.org/srtp.git + url = git://git.linphone.org/srtp [submodule "submodules/bcg729"] path = submodules/bcg729 - url = git://git.linphone.org/bcg729.git + url = git://git.linphone.org/bcg729 [submodule "submodules/belle-sip"] path = submodules/belle-sip url = git://git.linphone.org/belle-sip [submodule "submodules/externals/antlr3"] path = submodules/externals/antlr3 - url = git://git.linphone.org/antlr3.git + url = git://git.linphone.org/antlr3 [submodule "submodules/externals/polarssl"] path = submodules/externals/polarssl - url = git://git.linphone.org/polarssl.git + url = git://git.linphone.org/polarssl [submodule "submodules/externals/opus"] path = submodules/externals/opus - url = git://git.opus-codec.org/opus.git + url = git://git.linphone.org/opus ignore = dirty [submodule "submodules/externals/libxml2"] path = submodules/externals/libxml2 @@ -65,7 +65,7 @@ ignore = dirty [submodule "submodules/cunit"] path = submodules/cunit - url = git://git.linphone.org/cunit.git + url = git://git.linphone.org/cunit ignore = dirty [submodule "submodules/externals/openh264"] path = submodules/externals/openh264 @@ -73,17 +73,17 @@ ignore = dirty [submodule "submodules/msopenh264"] path = submodules/msopenh264 - url = git://git.linphone.org/msopenh264.git + url = git://git.linphone.org/msopenh264 [submodule "submodules/mswebrtc"] path = submodules/mswebrtc - url = git://git.linphone.org/mswebrtc.git + url = git://git.linphone.org/mswebrtc [submodule "Classes/KIF"] path = Classes/KIF - url = https://github.com/kif-framework/KIF.git + url = https://github.com/kif-framework/KIF ignore = dirty [submodule "submodules/cmake-builder"] path = submodules/cmake-builder - url = git://git.linphone.org/linphone-cmake-builder.git + url = git://git.linphone.org/linphone-cmake-builder [submodule "submodules/externals/vo-amrwbenc"] path = submodules/externals/vo-amrwbenc url = git://git.linphone.org/vo-amrwbenc diff --git a/Classes/AssistantView.m b/Classes/AssistantView.m index bcde50a24..f6966c989 100644 --- a/Classes/AssistantView.m +++ b/Classes/AssistantView.m @@ -310,7 +310,6 @@ static UICompositeViewDescription *compositeDescription = nil; LOGE(@"cannot set transport"); } - [[LinphoneManager instance] lpConfigSetString:@"" forKey:@"sharing_server_preference"]; [[LinphoneManager instance] lpConfigSetBool:FALSE forKey:@"ice_preference"]; [[LinphoneManager instance] lpConfigSetString:@"" forKey:@"stun_preference"]; linphone_core_set_stun_server(lc, NULL); diff --git a/Classes/ChatConversationTableView.m b/Classes/ChatConversationTableView.m index bd550a8eb..8d861da06 100644 --- a/Classes/ChatConversationTableView.m +++ b/Classes/ChatConversationTableView.m @@ -37,7 +37,7 @@ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; - self.tableView.accessibilityIdentifier = @"Chat list"; + self.tableView.accessibilityIdentifier = @"ChatRoom list"; [self reloadData]; } diff --git a/Classes/ChatConversationView.m b/Classes/ChatConversationView.m index 956a1cd9a..25880bce1 100644 --- a/Classes/ChatConversationView.m +++ b/Classes/ChatConversationView.m @@ -129,9 +129,7 @@ static UICompositeViewDescription *compositeDescription = nil; [editButton setOff]; [[tableController tableView] reloadData]; - BOOL fileSharingEnabled = - [[LinphoneManager instance] lpConfigStringForKey:@"sharing_server_preference"] != NULL && - [[[LinphoneManager instance] lpConfigStringForKey:@"sharing_server_preference"] length] > 0; + BOOL fileSharingEnabled = linphone_core_get_file_transfer_server([LinphoneManager getLc]) != NULL; [pictureButton setEnabled:fileSharingEnabled]; } @@ -226,8 +224,6 @@ static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState st linphone_chat_message_set_external_body_url(msg, [[externalUrl absoluteString] UTF8String]); } - linphone_chat_room_send_message2(chatRoom, msg, message_status, (__bridge void *)(self)); - if (internalUrl) { // internal url is saved in the appdata for display and later save [LinphoneManager setValueInMessageAppData:[internalUrl absoluteString] forKey:@"localimage" inMessage:msg]; @@ -235,6 +231,9 @@ static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState st [tableController addChatEntry:msg]; [tableController scrollToBottom:true]; + + linphone_chat_room_send_message2(chatRoom, msg, message_status, (__bridge void *)(self)); + return TRUE; } diff --git a/Classes/ChatsListTableView.m b/Classes/ChatsListTableView.m index 1720e0ff4..bf81ce5c7 100644 --- a/Classes/ChatsListTableView.m +++ b/Classes/ChatsListTableView.m @@ -51,7 +51,7 @@ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; - self.tableView.accessibilityIdentifier = @"ChatRoom list"; + self.tableView.accessibilityIdentifier = @"Chat list"; [self loadData]; } @@ -165,11 +165,15 @@ static void chatTable_free_chatrooms(void *data) { linphone_chat_room_set_user_data(chatRoom, NULL); } + FileTransferDelegate *ftdToDelete = nil; for (FileTransferDelegate *ftd in [[LinphoneManager instance] fileTransferDelegates]) { if (linphone_chat_message_get_chat_room(ftd.message) == chatRoom) { - [ftd cancel]; + ftdToDelete = ftd; + break; } } + [ftdToDelete cancel]; + linphone_core_delete_chat_room(linphone_chat_room_get_lc(chatRoom), chatRoom); data = ms_list_remove(data, chatRoom); diff --git a/Classes/ContactsListView.m b/Classes/ContactsListView.m index d7ec37a4d..b99886c0e 100644 --- a/Classes/ContactsListView.m +++ b/Classes/ContactsListView.m @@ -252,7 +252,7 @@ static UICompositeViewDescription *compositeDescription = nil; } - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { - [self searchBar:searchBar textDidChange:nil]; + [self searchBar:searchBar textDidChange:@""]; [searchBar resignFirstResponder]; } diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 2b11b6e8e..b1d6d1d62 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -346,7 +346,7 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [self setCString:linphone_address_get_username(parsed) forKey:@"primary_username_preference"]; } linphone_address_destroy(parsed); - [self setObject:[lm lpConfigStringForKey:@"sharing_server_preference"] forKey:@"sharing_server_preference"]; + [self setCString:linphone_core_get_file_transfer_server(lc) forKey:@"file_transfer_server_url_preference"]; } changedDict = [[NSMutableDictionary alloc] init]; @@ -795,8 +795,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [lm lpConfigSetInt:[self integerForKey:@"advanced_account_preference"] forKey:@"advanced_account_preference"]; - NSString *sharing_server = [self stringForKey:@"sharing_server_preference"]; - [[LinphoneManager instance] lpConfigSetString:sharing_server forKey:@"sharing_server_preference"]; + linphone_core_set_file_transfer_server(lc, + [[self stringForKey:@"file_transfer_server_url_preference"] UTF8String]); } changedDict = [[NSMutableDictionary alloc] init]; diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 0d46e648d..fe99c0cec 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -532,9 +532,10 @@ exit_dbmigration: } /* File transfer migration */ if ([self lpConfigBoolForKey:@"file_transfer_migration_done"] == FALSE) { - NSString *newURL = @"https://www.linphone.org:444/lft.php"; - LOGI(@"Migrating sharing server url from %@ to %@", [self lpConfigStringForKey:@"sharing_server_preference"], newURL); - [self lpConfigSetString:newURL forKey:@"sharing_server_preference"]; + const char *newURL = "https://www.linphone.org:444/lft.php"; + LOGI(@"Migrating sharing server url from %s to %s", + linphone_core_get_file_transfer_server([LinphoneManager getLc]), newURL); + linphone_core_set_file_transfer_server([LinphoneManager getLc], newURL); [self lpConfigSetBool:TRUE forKey:@"file_transfer_migration_done"]; } } @@ -568,7 +569,7 @@ static void dump_section(const char *section, void *data) { lp_config_for_each_entry((const LpConfig *)data, section, dump_entry, &d); } -+ (void)dumpLCConfig { ++ (void)dumpLcConfig { if (theLinphoneCore) { LpConfig *conf = [LinphoneManager instance].configDb; lp_config_for_each_section(conf, dump_section, conf); @@ -1022,25 +1023,26 @@ static void linphone_iphone_is_composing_received(LinphoneCore *lc, LinphoneChat } static void showNetworkFlags(SCNetworkReachabilityFlags flags) { - LOGI(@"Network connection flags:"); + NSMutableString *log = [[NSMutableString alloc] initWithString:@"Network connection flags: "]; if (flags == 0) - LOGI(@"no flags."); + [log appendString:@"no flags."]; if (flags & kSCNetworkReachabilityFlagsTransientConnection) - LOGI(@"kSCNetworkReachabilityFlagsTransientConnection"); + [log appendString:@"kSCNetworkReachabilityFlagsTransientConnection, "]; if (flags & kSCNetworkReachabilityFlagsReachable) - LOGI(@"kSCNetworkReachabilityFlagsReachable"); + [log appendString:@"kSCNetworkReachabilityFlagsReachable, "]; if (flags & kSCNetworkReachabilityFlagsConnectionRequired) - LOGI(@"kSCNetworkReachabilityFlagsConnectionRequired"); + [log appendString:@"kSCNetworkReachabilityFlagsConnectionRequired, "]; if (flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) - LOGI(@"kSCNetworkReachabilityFlagsConnectionOnTraffic"); + [log appendString:@"kSCNetworkReachabilityFlagsConnectionOnTraffic, "]; if (flags & kSCNetworkReachabilityFlagsConnectionOnDemand) - LOGI(@"kSCNetworkReachabilityFlagsConnectionOnDemand"); + [log appendString:@"kSCNetworkReachabilityFlagsConnectionOnDemand, "]; if (flags & kSCNetworkReachabilityFlagsIsLocalAddress) - LOGI(@"kSCNetworkReachabilityFlagsIsLocalAddress"); + [log appendString:@"kSCNetworkReachabilityFlagsIsLocalAddress, "]; if (flags & kSCNetworkReachabilityFlagsIsDirect) - LOGI(@"kSCNetworkReachabilityFlagsIsDirect"); + [log appendString:@"kSCNetworkReachabilityFlagsIsDirect, "]; if (flags & kSCNetworkReachabilityFlagsIsWWAN) - LOGI(@"kSCNetworkReachabilityFlagsIsWWAN"); + [log appendString:@"kSCNetworkReachabilityFlagsIsWWAN, "]; + LOGI(@"%@", log); } static void networkReachabilityNotification(CFNotificationCenterRef center, void *observer, CFStringRef name, @@ -1274,7 +1276,8 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, [zrtpSecretsFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]); linphone_core_set_chat_database_path(theLinphoneCore, [chatDBFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]); - + linphone_core_set_call_logs_database_path(theLinphoneCore, + [chatDBFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]); [self migrationLinphoneSettings]; [self setupNetworkReachabilityCallback]; @@ -1286,11 +1289,6 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, linphone_core_set_static_picture(theLinphoneCore, imagePath); } - NSString *urlString = [self lpConfigStringForKey:@"sharing_server_preference"]; - if (urlString) { - linphone_core_set_file_transfer_server(theLinphoneCore, [urlString UTF8String]); - } - /*DETECT cameras*/ frontCamId = backCamId = nil; char **camlist = (char **)linphone_core_get_video_devices(theLinphoneCore); @@ -2062,9 +2060,9 @@ static void audioRouteChangeListenerCallback(void *inUserData, // 1 - (void)setLogsEnabled:(BOOL)enabled { if ([LinphoneManager isRunningTests]) { - NSLog(@"Running tests, forcing logs to Warning level"); + NSLog(@"Running tests, forcing logs to MESSAGE level"); linphone_core_enable_logs_with_cb((OrtpLogFunc)linphone_iphone_log_handler); - linphone_core_set_log_level(ORTP_WARNING); + linphone_core_set_log_level(ORTP_MESSAGE); } else { if (enabled) { NSLog(@"Enabling debug logs"); diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index d6834564f..99f43d259 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -224,10 +224,15 @@ static RootViewManager *rootViewManagerInstance = nil; } } -- (NSUInteger)supportedInterfaceOrientations { - if (LinphoneManager.runningOnIpad || [mainViewController currentViewSupportsLandscape]) +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 +- (UIInterfaceOrientationMask)supportedInterfaceOrientations +#else +- (NSUInteger)supportedInterfaceOrientations +#endif +{ + if ([LinphoneManager runningOnIpad] || [mainViewController currentViewSupportsLandscape]) { return UIInterfaceOrientationMaskAll; - else { + } else { return UIInterfaceOrientationMaskPortrait; } } diff --git a/Classes/SettingsView.m b/Classes/SettingsView.m index f6d68c02b..fa5015c41 100644 --- a/Classes/SettingsView.m +++ b/Classes/SettingsView.m @@ -726,74 +726,123 @@ static UICompositeViewDescription *compositeDescription = nil; } else if ([key isEqualToString:@"reset_logs_button"]) { linphone_core_reset_log_collection(); } else if ([key isEqual:@"send_logs_button"]) { - char *filepath = linphone_core_compress_log_collection(lc); - if (filepath == NULL) { - LOGE(@"Cannot sent logs: file is NULL"); - return; + NSString *message; + + if ([LinphoneManager.instance lpConfigBoolForKey:@"send_logs_include_linphonerc_and_chathistory"]) { + message = NSLocalizedString( + @"Warning: an email will be created with 3 attachments:\n- Application " + @"logs\n- Linphone configuration\n- Chats history.\nThey may contain " + @"private informations (MIGHT contain clear-text password!).\nYou can remove one or several " + @"of these attachments before sending your email, however there are all " + @"important to diagnostize your issue.", + nil); + } else { + message = NSLocalizedString(@"Warning: an email will be created with application " @"logs. It may contain " + @"private informations (but no password!).\nThese logs are " + @"important to diagnostize your issue.", + nil); } + DTAlertView *alert = + [[DTAlertView alloc] initWithTitle:NSLocalizedString(@"Sending logs", nil) message:message]; + [alert addCancelButtonWithTitle:NSLocalizedString(@"Cancel", nil) block:nil]; + [alert addButtonWithTitle:NSLocalizedString(@"I got it, continue", nil) + block:^{ + [self sendEmailWithDebugAttachments]; + }]; + [alert show]; + } +} + +#pragma mark - UIAlertView delegate + +- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { + if (buttonIndex != 1) + return; /* cancel */ + else + [self goToWizard]; +} + +#pragma mark - Mail composer for sending logs + +- (void)sendEmailWithDebugAttachments { + LinphoneCore *lc = [LinphoneManager getLc]; + NSMutableArray *attachments = [[NSMutableArray alloc] initWithCapacity:3]; + + // retrieve linphone logs if available + char *filepath = linphone_core_compress_log_collection(lc); + if (filepath != NULL) { NSString *filename = [[NSString stringWithUTF8String:filepath] componentsSeparatedByString:@"/"].lastObject; - NSString *mimeType; - if ([filename hasSuffix:@".jpg"]) { - mimeType = @"image/jpeg"; - } else if ([filename hasSuffix:@".png"]) { - mimeType = @"image/png"; - } else if ([filename hasSuffix:@".pdf"]) { - mimeType = @"application/pdf"; - } else if ([filename hasSuffix:@".txt"]) { + NSString *mimeType = nil; + if ([filename hasSuffix:@".txt"]) { mimeType = @"text/plain"; } else if ([filename hasSuffix:@".gz"]) { mimeType = @"application/gzip"; } else { - LOGE(@"Unknown extension type: %@, cancelling email", filename); - return; + LOGE(@"Unknown extension type: %@, not attaching logs", filename); + } + + if (mimeType != nil) { + [attachments addObject:@[ [NSString stringWithUTF8String:filepath], mimeType, filename ]]; } - [self emailAttachment:[NSData dataWithContentsOfFile:[NSString stringWithUTF8String:filepath]] - mimeType:mimeType - name:filename]; - ms_free(filepath); } + + if ([LinphoneManager.instance lpConfigBoolForKey:@"send_logs_include_linphonerc_and_chathistory"]) { + // retrieve linphone rc + [attachments + addObject:@[ [LinphoneManager documentFile:@"linphonerc"], @"text/plain", @"linphone-configuration.rc" ]]; + + // retrieve historydb + [attachments addObject:@[ + [LinphoneManager documentFile:@"linphone_chats.db"], + @"application/x-sqlite3", + @"linphone-chats-history.db" + ]]; + } + + [self emailAttachments:attachments]; + ms_free(filepath); } - -#pragma mark - Mail composer for send log -- (void)emailAttachment:(NSData *)attachment mimeType:(NSString *)type name:(NSString *)attachmentName { - if (attachmentName == nil || type == nil || attachmentName == nil) { - LOGE(@"Trying to email attachment but mandatory field is missing"); - return; - } - +- (void)emailAttachments:(NSArray *)attachments { + NSString *error = nil; #if TARGET_IPHONE_SIMULATOR - UIAlertView *error = [[UIAlertView alloc] - initWithTitle:NSLocalizedString(@"Cannot send email", nil) - message:NSLocalizedString( - @"Simulator cannot send emails. To test this feature, please use a real device.", nil) - delegate:nil - cancelButtonTitle:NSLocalizedString(@"Continue", nil) - otherButtonTitles:nil]; - [error show]; + error = + NSLocalizedString(@"Cannot send emails on the Simulator. To test this feature, please use a real device.", nil); #else - if ([MFMailComposeViewController canSendMail] == YES) { + if ([MFMailComposeViewController canSendMail] == NO) { + error = NSLocalizedString( + @"Your device is not configured to send emails. Please configure mail application prior to send logs.", + nil); + } +#endif + + if (error != nil) { + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Cannot send email", nil) + message:error + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue", nil) + otherButtonTitles:nil]; + [alert show]; + } else { MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; - [picker setSubject:NSLocalizedString(@"Linphone Logs", nil)]; + [picker setSubject:NSLocalizedString(@"Linphone iOS Logs", nil)]; [picker setToRecipients:[NSArray arrayWithObjects:@"linphone-iphone@belledonne-communications.com", nil]]; - [picker setMessageBody:NSLocalizedString(@"Linphone logs", nil) isHTML:NO]; - [picker addAttachmentData:attachment mimeType:type fileName:attachmentName]; - + [picker setMessageBody:NSLocalizedString(@"Here are information about an issue I had on my device.\nI was " + @"doing ...\nI expected Linphone to ...\nInstead, I got an " + @"unexpected result: ...", + nil) + isHTML:NO]; + for (NSArray *attachment in attachments) { + if ([[NSFileManager defaultManager] fileExistsAtPath:attachment[0]]) { + [picker addAttachmentData:[NSData dataWithContentsOfFile:attachment[0]] + mimeType:attachment[1] + fileName:attachment[2]]; + } + } [self presentViewController:picker animated:true completion:nil]; - } else { - UIAlertView *error = [[UIAlertView alloc] - initWithTitle:NSLocalizedString(@"Cannot send email", nil) - message:NSLocalizedString(@"Your device is not configured to send emails. Please configure mail " - @"application prior to send logs.", - nil) - delegate:nil - cancelButtonTitle:NSLocalizedString(@"Continue", nil) - otherButtonTitles:nil]; - [error show]; } -#endif } - (void)mailComposeController:(MFMailComposeViewController *)controller diff --git a/Classes/Utils/FastAddressBook.m b/Classes/Utils/FastAddressBook.m index 81c7a17cc..65618211e 100644 --- a/Classes/Utils/FastAddressBook.m +++ b/Classes/Utils/FastAddressBook.m @@ -132,8 +132,7 @@ static void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info } + (BOOL)isAuthorized { - return !ABAddressBookGetAuthorizationStatus || - ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized; + return ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized; } - (FastAddressBook *)init { diff --git a/Classes/Utils/FileTransferDelegate.m b/Classes/Utils/FileTransferDelegate.m index b48c9ef26..b1be7535d 100644 --- a/Classes/Utils/FileTransferDelegate.m +++ b/Classes/Utils/FileTransferDelegate.m @@ -70,7 +70,6 @@ static void linphone_iphone_file_transfer_recv(LinphoneChatMessage *message, con forKey:@"localimage" inMessage:message]; } - linphone_chat_message_unref(thiz.message); thiz.message = NULL; [[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneFileTransferRecvUpdate @@ -124,8 +123,7 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m // this is the last time we will be notified, so destroy ourselve if (remaining <= size) { - LOGI(@"Upload ended, unreffing %p", thiz.message); - linphone_chat_message_unref(thiz.message); + LOGI(@"Upload ended"); thiz.message = NULL; [thiz stopAndDestroy]; } @@ -170,9 +168,7 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m [[[LinphoneManager instance] fileTransferDelegates] addObject:self]; _message = message; - // we need to keep a ref on the message to continue downloading even if user quit a chatroom which destroy all chat - // messages - linphone_chat_message_ref(_message); + const char *url = linphone_chat_message_get_external_body_url(_message); LOGI(@"%p Downloading content in %p from %s", self, message, url); @@ -196,10 +192,8 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m linphone_chat_message_cbs_set_file_transfer_send(linphone_chat_message_get_callbacks(msg), NULL); linphone_chat_message_cbs_set_file_transfer_recv(linphone_chat_message_get_callbacks(msg), NULL); // when we cancel file transfer, this will automatically trigger NotDelivered callback... recalling ourself a - // second time - // so we have to unset message BEFORE calling this + // second time so we have to unset message BEFORE calling this linphone_chat_message_cancel_file_transfer(msg); - linphone_chat_message_unref(msg); } _data = nil; LOGI(@"%p Destroying", self); diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h index 131352104..233c6bf1f 100755 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h +++ b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h @@ -58,5 +58,5 @@ - (UIImage *)cellImage; - (UIImage *)highlightedCellImage; - (BOOL)adjustsFontSizeToFitWidth; -- (UITextAlignment)textAlignment; +- (NSTextAlignment)textAlignment; @end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m index 9a4f7b338..471ae2eb3 100755 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m +++ b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m @@ -251,20 +251,19 @@ return !boxedResult || [boxedResult boolValue]; } -- (UITextAlignment)textAlignment -{ - if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentLeft]) { - return UITextAlignmentLeft; - } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentCenter]) { - return UITextAlignmentCenter; - } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentRight]) { - return UITextAlignmentRight; - } - if ([self.type isEqualToString:kIASKButtonSpecifier] && !self.cellImage) { - return UITextAlignmentCenter; - } else if ([self.type isEqualToString:kIASKPSMultiValueSpecifier] || [self.type isEqualToString:kIASKPSTitleValueSpecifier]) { - return UITextAlignmentRight; +- (NSTextAlignment)textAlignment { + if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentLeft]) { + return NSTextAlignmentLeft; + } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentCenter]) { + return NSTextAlignmentCenter; + } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentRight]) { + return NSTextAlignmentRight; } - return UITextAlignmentLeft; + if ([self.type isEqualToString:kIASKButtonSpecifier] && !self.cellImage) { + return NSTextAlignmentCenter; + } else if ([self.type isEqualToString:kIASKPSMultiValueSpecifier] || [self.type isEqualToString:kIASKPSTitleValueSpecifier]) { + return NSTextAlignmentRight; + } + return NSTextAlignmentLeft; } @end diff --git a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj index c4e28e185..eb98eaae4 100755 --- a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj +++ b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj @@ -317,7 +317,7 @@ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0700; }; buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "XMLRPC" */; compatibilityVersion = "Xcode 3.2"; @@ -403,6 +403,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 07127C590F4266F4009C7476 /* CommonDevelopment.xcconfig */; buildSettings = { + ENABLE_TESTABILITY = YES; GCC_THUMB_SUPPORT = NO; IPHONEOS_DEPLOYMENT_TARGET = 4.0; ONLY_ACTIVE_ARCH = YES; diff --git a/LiblinphoneTester/LinphoneTester-Info.plist b/LiblinphoneTester/LinphoneTester-Info.plist index 80088103a..e6e68329c 100644 --- a/LiblinphoneTester/LinphoneTester-Info.plist +++ b/LiblinphoneTester/LinphoneTester-Info.plist @@ -13,7 +13,7 @@ CFBundleIcons~ipad CFBundleIdentifier - com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/LiblinphoneTester/MasterView.h b/LiblinphoneTester/MasterView.h index cbfeb5b27..ca609dc2d 100644 --- a/LiblinphoneTester/MasterView.h +++ b/LiblinphoneTester/MasterView.h @@ -8,8 +8,8 @@ #import -NSMutableArray *lastLogs; -NSString *const kLogsUpdateNotification; +extern NSMutableArray *lastLogs; +extern NSString *const kLogsUpdateNotification; @class DetailView; diff --git a/Resources/Images.xcassets/AppIcon.appiconset/Contents.json b/Resources/Images.xcassets/AppIcon.appiconset/Contents.json index 80ca25902..2982bf4af 100644 --- a/Resources/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Resources/Images.xcassets/AppIcon.appiconset/Contents.json @@ -10,11 +10,21 @@ "size" : "29x29", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "40x40", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, { "size" : "57x57", "idiom" : "iphone", diff --git a/Resources/assistant_external_sip.rc b/Resources/assistant_external_sip.rc index f427f2758..84be19c86 100644 --- a/Resources/assistant_external_sip.rc +++ b/Resources/assistant_external_sip.rc @@ -17,10 +17,10 @@
0 - 1 stun.linphone.org 1 + 1
@@ -34,4 +34,7 @@ -1
+
+ +
\ No newline at end of file diff --git a/Resources/assistant_linphone_create.rc b/Resources/assistant_linphone_create.rc index 6da5025a0..ee15a41e5 100644 --- a/Resources/assistant_linphone_create.rc +++ b/Resources/assistant_linphone_create.rc @@ -22,10 +22,10 @@
1 - https://www.linphone.org:444/lft.php 1 stun.linphone.org 1 + 1
@@ -39,4 +39,7 @@ -1
+
+ https://www.linphone.org:444/lft.php +
diff --git a/Resources/assistant_linphone_existing.rc b/Resources/assistant_linphone_existing.rc index b9ef41f36..7977a0d9f 100644 --- a/Resources/assistant_linphone_existing.rc +++ b/Resources/assistant_linphone_existing.rc @@ -22,10 +22,10 @@
1 - https://www.linphone.org:444/lft.php 1 stun.linphone.org 1 + 1
@@ -38,4 +38,8 @@ -1 -1
+ +
+ https://www.linphone.org:444/lft.php +
diff --git a/Resources/assistant_remote.rc b/Resources/assistant_remote.rc index 3df265ada..534e2acff 100644 --- a/Resources/assistant_remote.rc +++ b/Resources/assistant_remote.rc @@ -16,9 +16,12 @@
0 - + 1
+
+ +
\ No newline at end of file diff --git a/Resources/linphonerc-factory b/Resources/linphonerc-factory index be0721924..4ddba5a5f 100644 --- a/Resources/linphonerc-factory +++ b/Resources/linphonerc-factory @@ -18,6 +18,7 @@ display_filter_auto_rotate=0 #contact_display_username_only=1 #contact_filter_on_default_domain=1 #use_phone_number=0 +send_logs_include_linphonerc_and_chathistory=0 [in_app_purchase] enabled=0 \ No newline at end of file diff --git a/Settings/InAppSettings.bundle/Advanced.plist b/Settings/InAppSettings.bundle/Advanced.plist index ca86b640e..cb07abc0d 100644 --- a/Settings/InAppSettings.bundle/Advanced.plist +++ b/Settings/InAppSettings.bundle/Advanced.plist @@ -176,7 +176,7 @@ Title Server URL Key - sharing_server_preference + file_transfer_server_url_preference IASKTextAlignment IASKUITextAlignmentRight
diff --git a/TestsLiblinphone/LinphoneTesterTests-Info.plist b/TestsLiblinphone/LinphoneTesterTests-Info.plist index 8715e636e..169b6f710 100644 --- a/TestsLiblinphone/LinphoneTesterTests-Info.plist +++ b/TestsLiblinphone/LinphoneTesterTests-Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType diff --git a/TestsUI/AssistantTester.m b/TestsUI/AssistantTester.m index 9eceae3fd..ab8257817 100644 --- a/TestsUI/AssistantTester.m +++ b/TestsUI/AssistantTester.m @@ -29,11 +29,6 @@ [tester tapViewWithAccessibilityLabel:@"Dialer"]; } -#pragma mark - State - -+ (void)switchToValidAccountWithTester:(KIFTestCase *)testCase { -} - #pragma mark - Utilities - (void)_linphoneLogin:(NSString *)username withPW:(NSString *)pw { @@ -47,22 +42,16 @@ } - (void)_externalLoginWithProtocol:(NSString *)protocol { - - [self setInvalidAccountSet:true]; [tester tapViewWithAccessibilityLabel:@"Start"]; [tester tapViewWithAccessibilityLabel:@"Sign in SIP account"]; [tester enterText:[self me] intoViewWithAccessibilityLabel:@"Username"]; - [tester enterText:@"testtest" intoViewWithAccessibilityLabel:@"Password"]; + [tester enterText:[self me] intoViewWithAccessibilityLabel:@"Password"]; [tester enterText:[self accountDomain] intoViewWithAccessibilityLabel:@"Domain"]; [tester tapViewWithAccessibilityLabel:protocol]; [tester tapViewWithAccessibilityLabel:@"Sign in"]; - - // check the registration state - UIView *regState = [tester waitForViewWithAccessibilityLabel:@"Registration state"]; - [tester waitForTimeInterval:1]; - [tester expectView:regState toContainText:@"Registered"]; + [self waitForRegistration]; } #pragma mark - Tests @@ -103,9 +92,7 @@ [self _linphoneLogin:@"testios" withPW:@"testtest"]; // check the registration state - [tester waitForViewWithAccessibilityLabel:@"Registration state" - value:@"Registered" - traits:UIAccessibilityTraitStaticText]; + [self waitForRegistration]; } - (void)testLinphoneLoginWithBadPassword { diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m index a49d9268c..ae3ebad6e 100644 --- a/TestsUI/ChatTester.m +++ b/TestsUI/ChatTester.m @@ -16,6 +16,8 @@ - (void)beforeAll { [super beforeAll]; [self switchToValidAccountIfNeeded]; + // turn off logs for chat tests because there are way to much logs in liblinphone in filetransfer and sqlite + linphone_core_set_log_level(ORTP_WARNING); } - (void)beforeEach { @@ -29,6 +31,7 @@ - (void)afterAll { [super afterAll]; + linphone_core_set_log_level(ORTP_MESSAGE); // at the end of tests, go back to chat rooms to display main bar if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Back" error:nil]) { [self goBackFromChat]; @@ -63,7 +66,7 @@ } - (void)uploadImageWithQuality:(NSString *)quality { - UITableView *tv = [self findTableView:@"Chat list"]; + UITableView *tv = [self findTableView:@"ChatRoom list"]; long messagesCount = [tv numberOfRowsInSection:0]; [tester tapViewWithAccessibilityLabel:@"Send picture"]; @@ -93,7 +96,7 @@ [self startChatWith:[self me]]; [self uploadImageWithQuality:@"Minimum"]; // wait for the upload to terminate... - for (int i = 0; i < 15; i++) { + for (int i = 0; i < 45; i++) { [tester waitForTimeInterval:1.f]; if ([[[LinphoneManager instance] fileTransferDelegates] count] == 0) break; @@ -111,7 +114,7 @@ [tester tapViewWithAccessibilityLabel:@"Anna Haro"]; [tester tapViewWithAccessibilityLabel:@"home, 555-522-8243"]; [self goBackFromChat]; - UITableView *tv = [self findTableView:@"ChatRoom list"]; + UITableView *tv = [self findTableView:@"Chat list"]; ASSERT_EQ([tv numberOfRowsInSection:0], 1); [tester waitForViewWithAccessibilityLabel:@"Contact name, Message" value:@"Anna Haro (0)" @@ -144,7 +147,11 @@ // check that the tableview is empty UITableView *tv = nil; NSError *err = nil; - if ([tester tryFindingAccessibilityElement:nil view:&tv withIdentifier:@"Chat list" tappable:false error:&err]) { + if ([tester tryFindingAccessibilityElement:nil + view:&tv + withIdentifier:@"ChatRoom list" + tappable:false + error:&err]) { XCTAssertNotNil(tv); ASSERT_EQ([tv numberOfRowsInSection:0], 0); // no more messages } else { @@ -167,7 +174,7 @@ [tester tapViewWithAccessibilityLabel:@"Chat"]; NSTimeInterval after = [[NSDate date] timeIntervalSince1970]; - XCTAssertEqual([[self findTableView:@"ChatRoom list"] numberOfRowsInSection:0], 100); + XCTAssertEqual([[self findTableView:@"Chat list"] numberOfRowsInSection:0], 100); // conversation loading MUST be less than 1 sec XCTAssertLessThan(after - before, 1.); } @@ -177,11 +184,17 @@ LinphoneCore *lc = [LinphoneManager getLc]; LinphoneChatRoom *room = linphone_core_get_chat_room_from_uri(lc, [[self me] UTF8String]); // generate lots of messages... - for (; count < 100; count++) { + for (; count < 50; count++) { linphone_chat_room_send_message(room, [[NSString stringWithFormat:@"Message %d", count + 1] UTF8String]); } - [tester waitForTimeInterval:5]; // wait for all messages to be delivered - // TODO: FIX below code: unread count is not always 100 messages while it should... + + for (int i = 0; i < 25; i++) { + [tester waitForTimeInterval:1.f]; + if (linphone_chat_room_get_history_size(room) == count * 2) { + break; + } + } + [tester waitForViewWithAccessibilityLabel:@"Contact name, Message, Unread message number" value:[NSString stringWithFormat:@"%@ - Message %d (%d)", self.me, count, count] traits:UIAccessibilityTraitStaticText]; @@ -197,8 +210,6 @@ - (void)testRemoveAllChats { NSArray *uuids = [self getUUIDArrayOfSize:5]; - [self removeAllRooms]; - for (NSString *uuid in uuids) { [self startChatWith:uuid]; [self sendMessage:@"Test"]; @@ -216,7 +227,7 @@ traits:UIAccessibilityTraitButton]; // same as the first but it is "OK" on screen // check that the tableview is empty - UITableView *tv = [self findTableView:@"ChatRoom list"]; + UITableView *tv = [self findTableView:@"Chat list"]; ASSERT_EQ([tv numberOfRowsInSection:0], 0); // test that there's no more chatrooms in the core @@ -246,25 +257,26 @@ [self goBackFromChat]; } -- (void)testTransfer3DownloadsSimultanously { +- (void)testTransfer2TransfersSimultanously { [self startChatWith:[self me]]; - [self uploadImageWithQuality:@"Maximum"]; - [self uploadImageWithQuality:@"Average"]; [self uploadImageWithQuality:@"Minimum"]; - UITableView *tv = [self findTableView:@"Chat list"]; + [self uploadImageWithQuality:@"Minimum"]; + UITableView *tv = [self findTableView:@"ChatRoom list"]; // wait for ALL uploads to terminate... for (int i = 0; i < 45; i++) { [tester waitForTimeInterval:1.f]; - if ([tv numberOfRowsInSection:0] == 6) + if ([tv numberOfRowsInSection:0] == 4) break; } [tester waitForTimeInterval:.5f]; ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 0); - [tester scrollViewWithAccessibilityIdentifier:@"Chat list" byFractionOfSizeHorizontal:0.f vertical:1.f]; - for (int i = 0; i < 3; i++) { + [tester scrollViewWithAccessibilityIdentifier:@"ChatRoom list" byFractionOfSizeHorizontal:0.f vertical:1.f]; + for (int i = 0; i < 2; i++) { // messages order is not known: if upload bitrate is huge, first image can be uploaded before last started while (![tester tryFindingTappableViewWithAccessibilityLabel:@"Download" error:nil]) { - [tester scrollViewWithAccessibilityIdentifier:@"Chat list" byFractionOfSizeHorizontal:0.f vertical:-.1f]; + [tester scrollViewWithAccessibilityIdentifier:@"ChatRoom list" + byFractionOfSizeHorizontal:0.f + vertical:-.1f]; } [tester waitForViewWithAccessibilityLabel:@"Download"]; [tester tapViewWithAccessibilityLabel:@"Download"]; @@ -276,25 +288,6 @@ [self goBackFromChat]; } -- (void)testTransfer3UploadsSimultanously { - [self startChatWith:[self me]]; - // use Maximum quality to be sure that first transfer is not terminated when the third begins - [self uploadImageWithQuality:@"Maximum"]; - [self uploadImageWithQuality:@"Average"]; - [self uploadImageWithQuality:@"Minimum"]; - UITableView *tv = [self findTableView:@"Chat list"]; - // wait for ALL uploads to terminate... - for (int i = 0; i < 45; i++) { - [tester waitForTimeInterval:1.f]; - if ([tv numberOfRowsInSection:0] == 6) - break; - } - [tester waitForTimeInterval:.5f]; - ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 0); - ASSERT_EQ([tv numberOfRowsInSection:0], 6); - [self goBackFromChat]; -} - - (void)testTransferCancelDownloadImage { [self downloadImage]; [tester tapViewWithAccessibilityLabel:@"Cancel transfer"]; @@ -308,32 +301,17 @@ ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); } +- (void)testTransferDestroyRoomWhileUploading { + [self startChatWith:[self me]]; + [self uploadImageWithQuality:@"Maximum"]; + [self goBackFromChat]; + [self removeAllRooms]; +} + - (void)testTransferDownloadImage { [self downloadImage]; [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Cancel transfer"]; ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); } -- (void)testTransferUploadImage { - [self startChatWith:[self me]]; - - ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 0); - [self uploadImageWithQuality:@"Minimum"]; - ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 1); - - UITableView *tv = [self findTableView:@"Chat list"]; - ASSERT_EQ([tv numberOfRowsInSection:0], 1); - - // wait for the upload to terminate... - for (int i = 0; i < 15; i++) { - [tester waitForTimeInterval:1.f]; - if ([[[LinphoneManager instance] fileTransferDelegates] count] == 0) - break; - } - [tester waitForViewWithAccessibilityLabel:@"Download"]; - - ASSERT_EQ([tv numberOfRowsInSection:0], 2); - ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); -} - @end diff --git a/TestsUI/Info.plist b/TestsUI/Info.plist index fddcb8263..ba72822e8 100644 --- a/TestsUI/Info.plist +++ b/TestsUI/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - org.linphone.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/TestsUI/LinphoneTestCase.h b/TestsUI/LinphoneTestCase.h index f7e15bc6a..9b5092759 100644 --- a/TestsUI/LinphoneTestCase.h +++ b/TestsUI/LinphoneTestCase.h @@ -21,6 +21,8 @@ - (UITableView *)findTableView:(NSString *)table; +- (void)waitForRegistration; + @end #define ASSERT_EQ(actual, expected) \ diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index 8980a0d3d..4e3a0803a 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -28,6 +28,7 @@ - (void)beforeAll { [super beforeAll]; + #if TARGET_IPHONE_SIMULATOR while ([tester acknowledgeSystemAlert]) { [tester waitForTimeInterval:.5f]; @@ -41,6 +42,10 @@ } } +- (void)beforeEach { + [[LinphoneManager instance] lpConfigSetInt:NO forKey:@"animations_preference"]; +} + - (NSString *)me { return [NSString stringWithFormat:@"testios-%@", [[UIDevice currentDevice].identifierForVendor.UUIDString substringToIndex:6]]; @@ -62,16 +67,6 @@ return array; } -static bool invalidAccount = true; - -- (void)setInvalidAccountSet:(BOOL)invalidAccountSet { - invalidAccount = invalidAccountSet; -} - -- (BOOL)invalidAccountSet { - return invalidAccount; -} - - (BOOL)hasValidProxyConfig { LinphoneCore *lc = [LinphoneManager getLc]; const MSList *proxies = linphone_core_get_proxy_config_list(lc); @@ -101,7 +96,7 @@ static bool invalidAccount = true; - (void)switchToValidAccountIfNeeded { [UIView setAnimationsEnabled:false]; - if (invalidAccount && ![self hasValidProxyConfig]) { + if (![self hasValidProxyConfig]) { LOGI(@"Switching to a test account..."); LinphoneCore *lc = [LinphoneManager getLc]; @@ -122,7 +117,7 @@ static bool invalidAccount = true; ms_free(server_addr); LinphoneAuthInfo *testAuth = linphone_auth_info_new(linphone_address_get_username(testAddr), NULL, - linphone_address_get_password(testAddr), NULL, NULL, + linphone_address_get_username(testAddr), NULL, NULL, linphone_address_get_domain(testAddr)); [[LinphoneManager instance] configurePushTokenForProxyConfig:testProxy]; @@ -137,14 +132,13 @@ static bool invalidAccount = true; linphone_auth_info_destroy(testAuth); linphone_address_destroy(testAddr); + linphone_core_set_file_transfer_server(lc, "https://www.linphone.org:444/lft.php"); + // reload address book to prepend proxy config domain to contacts' phone number [[[LinphoneManager instance] fastAddressBook] reload]; - [tester waitForViewWithAccessibilityLabel:@"Registration state" - value:@"Registered" - traits:UIAccessibilityTraitStaticText]; - - invalidAccount = false; + [self waitForRegistration]; + [[LinphoneManager instance] lpConfigSetInt:NO forKey:@"animations_preference"]; } } @@ -159,4 +153,19 @@ static bool invalidAccount = true; return tv; } +- (void)waitForRegistration { + // wait for account to be registered + int timeout = 15; + while (timeout && [tester tryFindingViewWithAccessibilityLabel:@"Registration state" + value:@"Registered" + traits:UIAccessibilityTraitStaticText + error:nil]) { + [tester waitForTimeInterval:1]; + timeout--; + } + [tester waitForViewWithAccessibilityLabel:@"Registration state" + value:@"Registered" + traits:UIAccessibilityTraitStaticText]; +} + @end diff --git a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj index bbd185c8f..5f5892cf4 100755 --- a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj +++ b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj @@ -7,45 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 154E1A941715638900A0D168 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A931715638900A0D168 /* libmediastreamer_base.a */; }; - 154E1A961715639A00A0D168 /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */; }; - 154E1A981715642E00A0D168 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A971715642E00A0D168 /* libavutil.a */; }; - 154E1A9A1715644400A0D168 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A991715644400A0D168 /* libavcodec.a */; }; - 154E1A9C1715645F00A0D168 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A9B1715645F00A0D168 /* libswscale.a */; }; - 154E1A9D171564B500A0D168 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A991715644400A0D168 /* libavcodec.a */; }; - 154E1A9E171564B500A0D168 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A991715644400A0D168 /* libavcodec.a */; }; - 154E1A9F171564B600A0D168 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A991715644400A0D168 /* libavcodec.a */; }; - 154E1AA0171564BA00A0D168 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A971715642E00A0D168 /* libavutil.a */; }; - 154E1AA1171564BA00A0D168 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A971715642E00A0D168 /* libavutil.a */; }; - 154E1AA2171564BA00A0D168 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A971715642E00A0D168 /* libavutil.a */; }; - 154E1AA3171564C100A0D168 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFED14C41EBA00E1BC69 /* libilbc.a */; }; - 154E1AA4171564C100A0D168 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFED14C41EBA00E1BC69 /* libilbc.a */; }; - 154E1AA5171564C200A0D168 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFED14C41EBA00E1BC69 /* libilbc.a */; }; - 154E1AA6171564C600A0D168 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A931715638900A0D168 /* libmediastreamer_base.a */; }; - 154E1AA7171564C600A0D168 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A931715638900A0D168 /* libmediastreamer_base.a */; }; - 154E1AA8171564C700A0D168 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A931715638900A0D168 /* libmediastreamer_base.a */; }; - 154E1AA9171564C900A0D168 /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */; }; - 154E1AAA171564CA00A0D168 /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */; }; - 154E1AAB171564CA00A0D168 /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */; }; - 154E1AB21715661100A0D168 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A9B1715645F00A0D168 /* libswscale.a */; }; - 154E1AB31715661100A0D168 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A9B1715645F00A0D168 /* libswscale.a */; }; - 154E1AB41715661200A0D168 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A9B1715645F00A0D168 /* libswscale.a */; }; - 15FC168517157478003FDB31 /* buddy_status.c in Sources */ = {isa = PBXBuildFile; fileRef = 15FC167E17157478003FDB31 /* buddy_status.c */; }; - 15FC168817157478003FDB31 /* chatroom.c in Sources */ = {isa = PBXBuildFile; fileRef = 15FC167F17157478003FDB31 /* chatroom.c */; }; - 15FC168A17157478003FDB31 /* helloworld.c in Sources */ = {isa = PBXBuildFile; fileRef = 15FC168017157478003FDB31 /* helloworld.c */; }; - 15FC168F17157478003FDB31 /* registration.c in Sources */ = {isa = PBXBuildFile; fileRef = 15FC168117157478003FDB31 /* registration.c */; }; 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 2220D5D81278461C008F2C2E /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D71278461C008F2C2E /* CFNetwork.framework */; }; 2220D5DA1278461C008F2C2E /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D91278461C008F2C2E /* CoreAudio.framework */; }; 2220D5EA12784672008F2C2E /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5E912784672008F2C2E /* AudioToolbox.framework */; }; - 2294996912A53FEE00D6CF48 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 2294996A12A53FEE00D6CF48 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - 2294996B12A53FEE00D6CF48 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; - 2294997612A53FEE00D6CF48 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D71278461C008F2C2E /* CFNetwork.framework */; }; - 2294997712A53FEE00D6CF48 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D91278461C008F2C2E /* CoreAudio.framework */; }; - 2294997812A53FEE00D6CF48 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5E912784672008F2C2E /* AudioToolbox.framework */; }; - 2294997912A53FEE00D6CF48 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B6A012A3E159001AE361 /* libresolv.dylib */; }; 229499A612A5417D00D6CF48 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 229499A712A5417D00D6CF48 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 229499A812A5417D00D6CF48 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; @@ -62,43 +28,12 @@ 229499FB12A5433F00D6CF48 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B6A012A3E159001AE361 /* libresolv.dylib */; }; 22D1B6A112A3E159001AE361 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B6A012A3E159001AE361 /* libresolv.dylib */; }; 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; - 34F9DFF614C41EBA00E1BC69 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */; }; - 34F9DFF714C41EBA00E1BC69 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFED14C41EBA00E1BC69 /* libilbc.a */; }; - 34F9DFF814C41EBA00E1BC69 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */; }; - 34F9DFFA14C41EBA00E1BC69 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF014C41EBA00E1BC69 /* libortp.a */; }; - 34F9DFFD14C41EBA00E1BC69 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF314C41EBA00E1BC69 /* libspeex.a */; }; - 34F9DFFE14C41EBA00E1BC69 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */; }; 34F9E00314C41FB400E1BC69 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; - 34F9E00614C41FCF00E1BC69 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00414C41FCF00E1BC69 /* libsrtp.a */; }; - 34F9E00714C41FCF00E1BC69 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00514C41FCF00E1BC69 /* libvpx.a */; }; 34F9E00B14C4202100E1BC69 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; - 34F9E00C14C4203900E1BC69 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; - 34F9E00D14C4203900E1BC69 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; - 34F9E00E14C4204600E1BC69 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00414C41FCF00E1BC69 /* libsrtp.a */; }; - 34F9E00F14C4204600E1BC69 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00514C41FCF00E1BC69 /* libvpx.a */; }; - 34F9E01014C4207700E1BC69 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */; }; - 34F9E01314C4208C00E1BC69 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF014C41EBA00E1BC69 /* libortp.a */; }; - 34F9E01614C420B800E1BC69 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */; }; - 34F9E01714C420B800E1BC69 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF314C41EBA00E1BC69 /* libspeex.a */; }; - 34F9E01814C420B800E1BC69 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */; }; - 34F9E01A14C420DD00E1BC69 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */; }; - 34F9E01B14C420DD00E1BC69 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */; }; - 34F9E01C14C420DD00E1BC69 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF014C41EBA00E1BC69 /* libortp.a */; }; - 34F9E01F14C420DD00E1BC69 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF314C41EBA00E1BC69 /* libspeex.a */; }; - 34F9E02014C420DD00E1BC69 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */; }; 34F9E02214C420FA00E1BC69 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; 34F9E02314C4210100E1BC69 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; - 34F9E02414C4211000E1BC69 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00414C41FCF00E1BC69 /* libsrtp.a */; }; - 34F9E02514C4211000E1BC69 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00514C41FCF00E1BC69 /* libvpx.a */; }; 34F9E02614C4212F00E1BC69 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; 34F9E02714C4212F00E1BC69 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; - 34F9E02914C4214500E1BC69 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */; }; - 34F9E02A14C4214500E1BC69 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */; }; - 34F9E02C14C4214500E1BC69 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF014C41EBA00E1BC69 /* libortp.a */; }; - 34F9E02F14C4214500E1BC69 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF314C41EBA00E1BC69 /* libspeex.a */; }; - 34F9E03014C4214500E1BC69 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */; }; - 34F9E03114C4214500E1BC69 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00414C41FCF00E1BC69 /* libsrtp.a */; }; - 34F9E03214C4214500E1BC69 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00514C41FCF00E1BC69 /* libvpx.a */; }; 34F9E03414C4247A00E1BC69 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */; }; 34F9E03514C4249600E1BC69 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */; }; 34F9E03714C424AF00E1BC69 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */; }; @@ -108,49 +43,163 @@ 34F9E03B14C4251B00E1BC69 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */; }; 34F9E03C14C4251B00E1BC69 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */; }; 34F9E03D14C4251B00E1BC69 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */; }; - 34F9E03E14C4252600E1BC69 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */; }; - 34F9E03F14C4253300E1BC69 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */; }; - 34F9E04014C4253300E1BC69 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */; }; - F079D95D199A6864009C58AA /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D95C199A6864009C58AA /* libbellesip.a */; }; - F079D95E199A6864009C58AA /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D95C199A6864009C58AA /* libbellesip.a */; }; - F079D95F199A6864009C58AA /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D95C199A6864009C58AA /* libbellesip.a */; }; - F079D960199A6864009C58AA /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D95C199A6864009C58AA /* libbellesip.a */; }; - F079D962199A6871009C58AA /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D961199A6871009C58AA /* libantlr3c.a */; }; - F079D963199A6871009C58AA /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D961199A6871009C58AA /* libantlr3c.a */; }; - F079D964199A6871009C58AA /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D961199A6871009C58AA /* libantlr3c.a */; }; - F079D965199A6871009C58AA /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D961199A6871009C58AA /* libantlr3c.a */; }; - F079D968199A68A5009C58AA /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D966199A68A5009C58AA /* libpolarssl.a */; }; - F079D969199A68A5009C58AA /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D966199A68A5009C58AA /* libpolarssl.a */; }; - F079D96A199A68A5009C58AA /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D966199A68A5009C58AA /* libpolarssl.a */; }; - F079D96B199A68A5009C58AA /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D966199A68A5009C58AA /* libpolarssl.a */; }; - F079D96C199A68A5009C58AA /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D967199A68A5009C58AA /* libxml2.a */; }; - F079D96D199A68A5009C58AA /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D967199A68A5009C58AA /* libxml2.a */; }; - F079D96E199A68A5009C58AA /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D967199A68A5009C58AA /* libxml2.a */; }; - F079D96F199A68A5009C58AA /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D967199A68A5009C58AA /* libxml2.a */; }; - F079D972199A68BA009C58AA /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D970199A68BA009C58AA /* libbzrtp.a */; }; - F079D973199A68BA009C58AA /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D970199A68BA009C58AA /* libbzrtp.a */; }; - F079D974199A68BA009C58AA /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D970199A68BA009C58AA /* libbzrtp.a */; }; - F079D975199A68BA009C58AA /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D970199A68BA009C58AA /* libbzrtp.a */; }; - F079D976199A68BA009C58AA /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D971199A68BA009C58AA /* libopus.a */; }; - F079D977199A68BA009C58AA /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D971199A68BA009C58AA /* libopus.a */; }; - F079D978199A68BA009C58AA /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D971199A68BA009C58AA /* libopus.a */; }; - F079D979199A68BA009C58AA /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D971199A68BA009C58AA /* libopus.a */; }; + 63D5C1001BA6E3EB002D1ABF /* helloworld.c in Sources */ = {isa = PBXBuildFile; fileRef = 63D5C0FC1BA6E3EB002D1ABF /* helloworld.c */; }; + 63D5C1021BA6E3F7002D1ABF /* registration.c in Sources */ = {isa = PBXBuildFile; fileRef = 63D5C0FD1BA6E3EB002D1ABF /* registration.c */; }; + 63D5C1031BA6E3FA002D1ABF /* chatroom.c in Sources */ = {isa = PBXBuildFile; fileRef = 63D5C0FB1BA6E3EB002D1ABF /* chatroom.c */; }; + 63D5C1041BA6E3FE002D1ABF /* buddy_status.c in Sources */ = {isa = PBXBuildFile; fileRef = 63D5C0FA1BA6E3EB002D1ABF /* buddy_status.c */; }; + 63D5C12C1BA6E504002D1ABF /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */; }; + 63D5C12D1BA6E504002D1ABF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */; }; + 63D5C12E1BA6E504002D1ABF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */; }; + 63D5C12F1BA6E504002D1ABF /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */; }; + 63D5C1301BA6E504002D1ABF /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */; }; + 63D5C1311BA6E504002D1ABF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */; }; + 63D5C1321BA6E504002D1ABF /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */; }; + 63D5C1331BA6E504002D1ABF /* libilbcrfc3951.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */; }; + 63D5C1341BA6E504002D1ABF /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */; }; + 63D5C1351BA6E504002D1ABF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */; }; + 63D5C1361BA6E504002D1ABF /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */; }; + 63D5C1371BA6E504002D1ABF /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */; }; + 63D5C1381BA6E504002D1ABF /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */; }; + 63D5C1391BA6E504002D1ABF /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */; }; + 63D5C13A1BA6E504002D1ABF /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */; }; + 63D5C13B1BA6E504002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; + 63D5C13C1BA6E504002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; + 63D5C13D1BA6E504002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; + 63D5C13E1BA6E504002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; + 63D5C13F1BA6E504002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; + 63D5C1401BA6E504002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; + 63D5C1411BA6E504002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; + 63D5C1421BA6E504002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */; }; + 63D5C1431BA6E504002D1ABF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */; }; + 63D5C1441BA6E504002D1ABF /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */; }; + 63D5C1451BA6E504002D1ABF /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1211BA6E4F0002D1ABF /* libvpx.a */; }; + 63D5C1461BA6E504002D1ABF /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1221BA6E4F0002D1ABF /* libx264.a */; }; + 63D5C1471BA6E516002D1ABF /* libmsamr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1251BA6E4F0002D1ABF /* libmsamr.a */; }; + 63D5C1481BA6E516002D1ABF /* libmsbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1261BA6E4F0002D1ABF /* libmsbcg729.a */; }; + 63D5C1491BA6E516002D1ABF /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1271BA6E4F0002D1ABF /* libmsilbc.a */; }; + 63D5C14A1BA6E516002D1ABF /* libmsopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1281BA6E4F0002D1ABF /* libmsopenh264.a */; }; + 63D5C14B1BA6E516002D1ABF /* libmssilk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1291BA6E4F0002D1ABF /* libmssilk.a */; }; + 63D5C14C1BA6E516002D1ABF /* libmswebrtc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C12A1BA6E4F0002D1ABF /* libmswebrtc.a */; }; + 63D5C14D1BA6E516002D1ABF /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C12B1BA6E4F0002D1ABF /* libmsx264.a */; }; + 63D5C14F1BA6E6D1002D1ABF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */; }; + 63D5C1511BA6E6E9002D1ABF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */; }; + 63D5C1531BA6E6F0002D1ABF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */; }; + 63D5C1571BA6E765002D1ABF /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */; }; + 63D5C1581BA6E765002D1ABF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */; }; + 63D5C1591BA6E765002D1ABF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */; }; + 63D5C15A1BA6E765002D1ABF /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */; }; + 63D5C15B1BA6E765002D1ABF /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */; }; + 63D5C15C1BA6E765002D1ABF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */; }; + 63D5C15D1BA6E765002D1ABF /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */; }; + 63D5C15E1BA6E765002D1ABF /* libilbcrfc3951.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */; }; + 63D5C15F1BA6E765002D1ABF /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */; }; + 63D5C1601BA6E765002D1ABF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */; }; + 63D5C1611BA6E765002D1ABF /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */; }; + 63D5C1621BA6E765002D1ABF /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */; }; + 63D5C1631BA6E765002D1ABF /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */; }; + 63D5C1641BA6E765002D1ABF /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */; }; + 63D5C1651BA6E765002D1ABF /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */; }; + 63D5C1661BA6E765002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; + 63D5C1671BA6E765002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; + 63D5C1681BA6E765002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; + 63D5C1691BA6E765002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; + 63D5C16A1BA6E765002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; + 63D5C16B1BA6E765002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; + 63D5C16C1BA6E765002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; + 63D5C16D1BA6E765002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */; }; + 63D5C16E1BA6E765002D1ABF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */; }; + 63D5C16F1BA6E765002D1ABF /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */; }; + 63D5C1701BA6E765002D1ABF /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1211BA6E4F0002D1ABF /* libvpx.a */; }; + 63D5C1711BA6E765002D1ABF /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1221BA6E4F0002D1ABF /* libx264.a */; }; + 63D5C1721BA6E778002D1ABF /* libmsamr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1251BA6E4F0002D1ABF /* libmsamr.a */; }; + 63D5C1731BA6E778002D1ABF /* libmsbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1261BA6E4F0002D1ABF /* libmsbcg729.a */; }; + 63D5C1741BA6E778002D1ABF /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1271BA6E4F0002D1ABF /* libmsilbc.a */; }; + 63D5C1751BA6E778002D1ABF /* libmsopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1281BA6E4F0002D1ABF /* libmsopenh264.a */; }; + 63D5C1761BA6E778002D1ABF /* libmssilk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1291BA6E4F0002D1ABF /* libmssilk.a */; }; + 63D5C1771BA6E778002D1ABF /* libmswebrtc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C12A1BA6E4F0002D1ABF /* libmswebrtc.a */; }; + 63D5C1781BA6E778002D1ABF /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C12B1BA6E4F0002D1ABF /* libmsx264.a */; }; + 63D5C17A1BA6E8BD002D1ABF /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; + 63D5C17B1BA6E8C2002D1ABF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */; }; + 63D5C17C1BA6E8C6002D1ABF /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B6A012A3E159001AE361 /* libresolv.dylib */; }; + 63D5C17D1BA6E8CC002D1ABF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */; }; + 63D5C17E1BA6E8D1002D1ABF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */; }; + 63D5C17F1BA6E8D6002D1ABF /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5E912784672008F2C2E /* AudioToolbox.framework */; }; + 63D5C1801BA6E8DE002D1ABF /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */; }; + 63D5C1811BA6E8E3002D1ABF /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D71278461C008F2C2E /* CFNetwork.framework */; }; + 63D5C1821BA6E8E8002D1ABF /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D91278461C008F2C2E /* CoreAudio.framework */; }; + 63D5C1831BA6E8EE002D1ABF /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; + 63D5C1841BA6E8F5002D1ABF /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */; }; + 63D5C1851BA6E8FA002D1ABF /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */; }; + 63D5C1861BA6E8FD002D1ABF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 63D5C1871BA6E902002D1ABF /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 63D5C1881BA6E907002D1ABF /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; + 63D5C1891BA6E90D002D1ABF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; + 63D5C18A1BA6E92A002D1ABF /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */; }; + 63D5C18B1BA6E92A002D1ABF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */; }; + 63D5C18C1BA6E92A002D1ABF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */; }; + 63D5C18D1BA6E92A002D1ABF /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */; }; + 63D5C18E1BA6E92A002D1ABF /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */; }; + 63D5C18F1BA6E92A002D1ABF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */; }; + 63D5C1901BA6E92A002D1ABF /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */; }; + 63D5C1911BA6E92A002D1ABF /* libilbcrfc3951.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */; }; + 63D5C1921BA6E92A002D1ABF /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */; }; + 63D5C1931BA6E92A002D1ABF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */; }; + 63D5C1941BA6E92A002D1ABF /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */; }; + 63D5C1951BA6E92A002D1ABF /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */; }; + 63D5C1961BA6E92A002D1ABF /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */; }; + 63D5C1971BA6E92A002D1ABF /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */; }; + 63D5C1981BA6E92A002D1ABF /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */; }; + 63D5C1991BA6E92A002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; + 63D5C19A1BA6E92A002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; + 63D5C19B1BA6E92A002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; + 63D5C19C1BA6E92A002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; + 63D5C19D1BA6E92A002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; + 63D5C19E1BA6E92A002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; + 63D5C19F1BA6E92A002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; + 63D5C1A01BA6E92A002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */; }; + 63D5C1A11BA6E92B002D1ABF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */; }; + 63D5C1A21BA6E92B002D1ABF /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */; }; + 63D5C1A31BA6E92B002D1ABF /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1211BA6E4F0002D1ABF /* libvpx.a */; }; + 63D5C1A41BA6E92B002D1ABF /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1221BA6E4F0002D1ABF /* libx264.a */; }; + 63D5C1A51BA6E937002D1ABF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */; }; + 63D5C1A61BA6E93D002D1ABF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */; }; + 63D5C1A71BA6E943002D1ABF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */; }; + 63D5C1A81BA6E95C002D1ABF /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */; }; + 63D5C1A91BA6E95C002D1ABF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */; }; + 63D5C1AA1BA6E95C002D1ABF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */; }; + 63D5C1AB1BA6E95C002D1ABF /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */; }; + 63D5C1AC1BA6E95C002D1ABF /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */; }; + 63D5C1AD1BA6E95C002D1ABF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */; }; + 63D5C1AE1BA6E95C002D1ABF /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */; }; + 63D5C1AF1BA6E95C002D1ABF /* libilbcrfc3951.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */; }; + 63D5C1B01BA6E95C002D1ABF /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */; }; + 63D5C1B11BA6E95C002D1ABF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */; }; + 63D5C1B21BA6E95C002D1ABF /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */; }; + 63D5C1B31BA6E95C002D1ABF /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */; }; + 63D5C1B41BA6E95C002D1ABF /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */; }; + 63D5C1B51BA6E95C002D1ABF /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */; }; + 63D5C1B61BA6E95C002D1ABF /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */; }; + 63D5C1B71BA6E95C002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; + 63D5C1B81BA6E95C002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; + 63D5C1B91BA6E95C002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; + 63D5C1BA1BA6E95C002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; + 63D5C1BB1BA6E95C002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; + 63D5C1BC1BA6E95C002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; + 63D5C1BD1BA6E95C002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; + 63D5C1BE1BA6E95C002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */; }; + 63D5C1BF1BA6E95C002D1ABF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */; }; + 63D5C1C01BA6E95C002D1ABF /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */; }; + 63D5C1C11BA6E95C002D1ABF /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1211BA6E4F0002D1ABF /* libvpx.a */; }; + 63D5C1C21BA6E95C002D1ABF /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1221BA6E4F0002D1ABF /* libx264.a */; }; + 63D5C1C31BA6E963002D1ABF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */; }; + 63D5C1C41BA6E969002D1ABF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */; }; + 63D5C1C51BA6E96D002D1ABF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */; }; F079D97B199A6905009C58AA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; - F079D97C199A690C009C58AA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; F079D97D199A6913009C58AA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; F079D97E199A6919009C58AA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 154E1A931715638900A0D168 /* libmediastreamer_base.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_base.a; path = "../../liblinphone-sdk/apple-darwin/lib/libmediastreamer_base.a"; sourceTree = ""; }; - 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_voip.a; path = "../../liblinphone-sdk/apple-darwin/lib/libmediastreamer_voip.a"; sourceTree = ""; }; - 154E1A971715642E00A0D168 /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = "../../liblinphone-sdk/apple-darwin/lib/libavutil.a"; sourceTree = ""; }; - 154E1A991715644400A0D168 /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = "../../liblinphone-sdk/apple-darwin/lib/libavcodec.a"; sourceTree = ""; }; - 154E1A9B1715645F00A0D168 /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswscale.a; path = "../../liblinphone-sdk/apple-darwin/lib/libswscale.a"; sourceTree = ""; }; - 15FC167E17157478003FDB31 /* buddy_status.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = buddy_status.c; path = "../../liblinphone-sdk/apple-darwin/share/linphone/tutorials/buddy_status.c"; sourceTree = ""; }; - 15FC167F17157478003FDB31 /* chatroom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chatroom.c; path = "../../liblinphone-sdk/apple-darwin/share/linphone/tutorials/chatroom.c"; sourceTree = ""; }; - 15FC168017157478003FDB31 /* helloworld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = helloworld.c; path = "../../liblinphone-sdk/apple-darwin/share/linphone/tutorials/helloworld.c"; sourceTree = ""; }; - 15FC168117157478003FDB31 /* registration.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = registration.c; path = "../../liblinphone-sdk/apple-darwin/share/linphone/tutorials/registration.c"; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* hello-world.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "hello-world.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -164,26 +213,54 @@ 22D1B6A012A3E159001AE361 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = usr/lib/libresolv.dylib; sourceTree = SDKROOT; }; 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 32CA4F630368D1EE00C91783 /* hello_world_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hello_world_Prefix.pch; sourceTree = ""; }; - 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgsm.a; path = "../../liblinphone-sdk/apple-darwin/lib/libgsm.a"; sourceTree = ""; }; - 34F9DFED14C41EBA00E1BC69 /* libilbc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libilbc.a; path = "../../liblinphone-sdk/apple-darwin/lib/libilbc.a"; sourceTree = ""; }; - 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "../../liblinphone-sdk/apple-darwin/lib/liblinphone.a"; sourceTree = ""; }; - 34F9DFF014C41EBA00E1BC69 /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../../liblinphone-sdk/apple-darwin/lib/libortp.a"; sourceTree = ""; }; - 34F9DFF314C41EBA00E1BC69 /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../../liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; - 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../../liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 34F9E00414C41FCF00E1BC69 /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "../../liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; - 34F9E00514C41FCF00E1BC69 /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "../../liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; }; 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; + 63D5C0FA1BA6E3EB002D1ABF /* buddy_status.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = buddy_status.c; path = ../submodules/linphone/coreapi/help/buddy_status.c; sourceTree = ""; }; + 63D5C0FB1BA6E3EB002D1ABF /* chatroom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chatroom.c; path = ../submodules/linphone/coreapi/help/chatroom.c; sourceTree = ""; }; + 63D5C0FC1BA6E3EB002D1ABF /* helloworld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = helloworld.c; path = ../submodules/linphone/coreapi/help/helloworld.c; sourceTree = ""; }; + 63D5C0FD1BA6E3EB002D1ABF /* registration.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = registration.c; path = ../submodules/linphone/coreapi/help/registration.c; sourceTree = ""; }; + 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libantlr3c.a; path = "../liblinphone-sdk/apple-darwin/lib/libantlr3c.a"; sourceTree = ""; }; + 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = "../liblinphone-sdk/apple-darwin/lib/libavcodec.a"; sourceTree = ""; }; + 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = "../liblinphone-sdk/apple-darwin/lib/libavutil.a"; sourceTree = ""; }; + 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbellesip.a; path = "../liblinphone-sdk/apple-darwin/lib/libbellesip.a"; sourceTree = ""; }; + 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbzrtp.a; path = "../liblinphone-sdk/apple-darwin/lib/libbzrtp.a"; sourceTree = ""; }; + 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcunit.a; path = "../liblinphone-sdk/apple-darwin/lib/libcunit.a"; sourceTree = ""; }; + 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgsm.a; path = "../liblinphone-sdk/apple-darwin/lib/libgsm.a"; sourceTree = ""; }; + 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libilbcrfc3951.a; path = "../liblinphone-sdk/apple-darwin/lib/libilbcrfc3951.a"; sourceTree = ""; }; + 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "../liblinphone-sdk/apple-darwin/lib/liblinphone.a"; sourceTree = ""; }; + 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphonetester.a; path = "../liblinphone-sdk/apple-darwin/lib/liblinphonetester.a"; sourceTree = ""; }; + 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_base.a; path = "../liblinphone-sdk/apple-darwin/lib/libmediastreamer_base.a"; sourceTree = ""; }; + 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_voip.a; path = "../liblinphone-sdk/apple-darwin/lib/libmediastreamer_voip.a"; sourceTree = ""; }; + 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrnb.a"; path = "../liblinphone-sdk/apple-darwin/lib/libopencore-amrnb.a"; sourceTree = ""; }; + 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrwb.a"; path = "../liblinphone-sdk/apple-darwin/lib/libopencore-amrwb.a"; sourceTree = ""; }; + 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopenh264.a; path = "../liblinphone-sdk/apple-darwin/lib/libopenh264.a"; sourceTree = ""; }; + 63D5C1171BA6E4F0002D1ABF /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = "../liblinphone-sdk/apple-darwin/lib/libopus.a"; sourceTree = ""; }; + 63D5C1181BA6E4F0002D1ABF /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../liblinphone-sdk/apple-darwin/lib/libortp.a"; sourceTree = ""; }; + 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpolarssl.a; path = "../liblinphone-sdk/apple-darwin/lib/libpolarssl.a"; sourceTree = ""; }; + 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "../liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; + 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; + 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; + 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "../liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; + 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswresample.a; path = "../liblinphone-sdk/apple-darwin/lib/libswresample.a"; sourceTree = ""; }; + 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswscale.a; path = "../liblinphone-sdk/apple-darwin/lib/libswscale.a"; sourceTree = ""; }; + 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtunnel.a; path = "../liblinphone-sdk/apple-darwin/lib/libtunnel.a"; sourceTree = ""; }; + 63D5C1211BA6E4F0002D1ABF /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "../liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; }; + 63D5C1221BA6E4F0002D1ABF /* libx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libx264.a; path = "../liblinphone-sdk/apple-darwin/lib/libx264.a"; sourceTree = ""; }; + 63D5C1251BA6E4F0002D1ABF /* libmsamr.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsamr.a; sourceTree = ""; }; + 63D5C1261BA6E4F0002D1ABF /* libmsbcg729.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsbcg729.a; sourceTree = ""; }; + 63D5C1271BA6E4F0002D1ABF /* libmsilbc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsilbc.a; sourceTree = ""; }; + 63D5C1281BA6E4F0002D1ABF /* libmsopenh264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsopenh264.a; sourceTree = ""; }; + 63D5C1291BA6E4F0002D1ABF /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmssilk.a; sourceTree = ""; }; + 63D5C12A1BA6E4F0002D1ABF /* libmswebrtc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmswebrtc.a; sourceTree = ""; }; + 63D5C12B1BA6E4F0002D1ABF /* libmsx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsx264.a; sourceTree = ""; }; + 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; }; + 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; + 63D5C1541BA6E734002D1ABF /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 8D1107310486CEB800E47090 /* helloworld-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "helloworld-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; - F079D95C199A6864009C58AA /* libbellesip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbellesip.a; path = "../../liblinphone-sdk/apple-darwin/lib/libbellesip.a"; sourceTree = ""; }; - F079D961199A6871009C58AA /* libantlr3c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libantlr3c.a; path = "../../liblinphone-sdk/apple-darwin/lib/libantlr3c.a"; sourceTree = ""; }; - F079D966199A68A5009C58AA /* libpolarssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpolarssl.a; path = "../../liblinphone-sdk/apple-darwin/lib/libpolarssl.a"; sourceTree = ""; }; - F079D967199A68A5009C58AA /* libxml2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libxml2.a; path = "../../liblinphone-sdk/apple-darwin/lib/libxml2.a"; sourceTree = ""; }; - F079D970199A68BA009C58AA /* libbzrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbzrtp.a; path = "../../liblinphone-sdk/apple-darwin/lib/libbzrtp.a"; sourceTree = ""; }; - F079D971199A68BA009C58AA /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = "../../liblinphone-sdk/apple-darwin/lib/libopus.a"; sourceTree = ""; }; F079D97A199A6905009C58AA /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -192,38 +269,56 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63D5C1471BA6E516002D1ABF /* libmsamr.a in Frameworks */, + 63D5C1481BA6E516002D1ABF /* libmsbcg729.a in Frameworks */, + 63D5C1491BA6E516002D1ABF /* libmsilbc.a in Frameworks */, + 63D5C14A1BA6E516002D1ABF /* libmsopenh264.a in Frameworks */, + 63D5C14B1BA6E516002D1ABF /* libmssilk.a in Frameworks */, + 63D5C14C1BA6E516002D1ABF /* libmswebrtc.a in Frameworks */, + 63D5C14D1BA6E516002D1ABF /* libmsx264.a in Frameworks */, + 63D5C12C1BA6E504002D1ABF /* libantlr3c.a in Frameworks */, + 63D5C12D1BA6E504002D1ABF /* libavcodec.a in Frameworks */, + 63D5C12E1BA6E504002D1ABF /* libavutil.a in Frameworks */, + 63D5C12F1BA6E504002D1ABF /* libbellesip.a in Frameworks */, + 63D5C1301BA6E504002D1ABF /* libbzrtp.a in Frameworks */, + 63D5C1311BA6E504002D1ABF /* libcunit.a in Frameworks */, + 63D5C1321BA6E504002D1ABF /* libgsm.a in Frameworks */, + 63D5C1331BA6E504002D1ABF /* libilbcrfc3951.a in Frameworks */, + 63D5C1341BA6E504002D1ABF /* liblinphone.a in Frameworks */, + 63D5C1351BA6E504002D1ABF /* liblinphonetester.a in Frameworks */, + 63D5C1361BA6E504002D1ABF /* libmediastreamer_base.a in Frameworks */, + 63D5C1371BA6E504002D1ABF /* libmediastreamer_voip.a in Frameworks */, + 63D5C1381BA6E504002D1ABF /* libopencore-amrnb.a in Frameworks */, + 63D5C1391BA6E504002D1ABF /* libopencore-amrwb.a in Frameworks */, + 63D5C13A1BA6E504002D1ABF /* libopenh264.a in Frameworks */, + 63D5C13B1BA6E504002D1ABF /* libopus.a in Frameworks */, + 63D5C13C1BA6E504002D1ABF /* libortp.a in Frameworks */, + 63D5C13D1BA6E504002D1ABF /* libpolarssl.a in Frameworks */, + 63D5C13E1BA6E504002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, + 63D5C13F1BA6E504002D1ABF /* libspeex.a in Frameworks */, + 63D5C1401BA6E504002D1ABF /* libspeexdsp.a in Frameworks */, + 63D5C1411BA6E504002D1ABF /* libsrtp.a in Frameworks */, + 63D5C1421BA6E504002D1ABF /* libswresample.a in Frameworks */, + 63D5C1431BA6E504002D1ABF /* libswscale.a in Frameworks */, + 63D5C1441BA6E504002D1ABF /* libtunnel.a in Frameworks */, + 63D5C1451BA6E504002D1ABF /* libvpx.a in Frameworks */, + 63D5C1461BA6E504002D1ABF /* libx264.a in Frameworks */, F079D97B199A6905009C58AA /* libsqlite3.dylib in Frameworks */, - 154E1A9C1715645F00A0D168 /* libswscale.a in Frameworks */, - F079D96C199A68A5009C58AA /* libxml2.a in Frameworks */, - 154E1A9A1715644400A0D168 /* libavcodec.a in Frameworks */, - 154E1A981715642E00A0D168 /* libavutil.a in Frameworks */, - F079D968199A68A5009C58AA /* libpolarssl.a in Frameworks */, - F079D95D199A6864009C58AA /* libbellesip.a in Frameworks */, - F079D972199A68BA009C58AA /* libbzrtp.a in Frameworks */, - 34F9E03714C424AF00E1BC69 /* CoreMedia.framework in Frameworks */, - 34F9E03514C4249600E1BC69 /* CoreVideo.framework in Frameworks */, + 63D5C14F1BA6E6D1002D1ABF /* libz.dylib in Frameworks */, + 22D1B6A112A3E159001AE361 /* libresolv.dylib in Frameworks */, + 63D5C1531BA6E6F0002D1ABF /* libxml2.dylib in Frameworks */, + 63D5C1511BA6E6E9002D1ABF /* libiconv.dylib in Frameworks */, + 2220D5EA12784672008F2C2E /* AudioToolbox.framework in Frameworks */, 34F9E03414C4247A00E1BC69 /* AVFoundation.framework in Frameworks */, - 34F9E00B14C4202100E1BC69 /* QuartzCore.framework in Frameworks */, - 34F9E00614C41FCF00E1BC69 /* libsrtp.a in Frameworks */, - 34F9E00714C41FCF00E1BC69 /* libvpx.a in Frameworks */, - 34F9E00314C41FB400E1BC69 /* OpenGLES.framework in Frameworks */, - 34F9DFF614C41EBA00E1BC69 /* libgsm.a in Frameworks */, - 34F9DFF714C41EBA00E1BC69 /* libilbc.a in Frameworks */, - 34F9DFF814C41EBA00E1BC69 /* liblinphone.a in Frameworks */, - F079D962199A6871009C58AA /* libantlr3c.a in Frameworks */, - 154E1A941715638900A0D168 /* libmediastreamer_base.a in Frameworks */, - F079D976199A68BA009C58AA /* libopus.a in Frameworks */, - 154E1A961715639A00A0D168 /* libmediastreamer_voip.a in Frameworks */, - 34F9DFFA14C41EBA00E1BC69 /* libortp.a in Frameworks */, - 34F9DFFD14C41EBA00E1BC69 /* libspeex.a in Frameworks */, - 34F9DFFE14C41EBA00E1BC69 /* libspeexdsp.a in Frameworks */, - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, 2220D5D81278461C008F2C2E /* CFNetwork.framework in Frameworks */, 2220D5DA1278461C008F2C2E /* CoreAudio.framework in Frameworks */, - 2220D5EA12784672008F2C2E /* AudioToolbox.framework in Frameworks */, - 22D1B6A112A3E159001AE361 /* libresolv.dylib in Frameworks */, + 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, + 34F9E03714C424AF00E1BC69 /* CoreMedia.framework in Frameworks */, + 34F9E03514C4249600E1BC69 /* CoreVideo.framework in Frameworks */, + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 34F9E00314C41FB400E1BC69 /* OpenGLES.framework in Frameworks */, + 34F9E00B14C4202100E1BC69 /* QuartzCore.framework in Frameworks */, + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -231,38 +326,56 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F079D97C199A690C009C58AA /* libsqlite3.dylib in Frameworks */, - 34F9E03F14C4253300E1BC69 /* CoreMedia.framework in Frameworks */, - F079D96D199A68A5009C58AA /* libxml2.a in Frameworks */, - 34F9E04014C4253300E1BC69 /* CoreVideo.framework in Frameworks */, - 34F9E03E14C4252600E1BC69 /* AVFoundation.framework in Frameworks */, - F079D969199A68A5009C58AA /* libpolarssl.a in Frameworks */, - F079D95E199A6864009C58AA /* libbellesip.a in Frameworks */, - F079D973199A68BA009C58AA /* libbzrtp.a in Frameworks */, - 34F9E01614C420B800E1BC69 /* libgsm.a in Frameworks */, - 34F9E01714C420B800E1BC69 /* libspeex.a in Frameworks */, - 34F9E01814C420B800E1BC69 /* libspeexdsp.a in Frameworks */, - 34F9E01314C4208C00E1BC69 /* libortp.a in Frameworks */, - 34F9E01014C4207700E1BC69 /* liblinphone.a in Frameworks */, - 34F9E00E14C4204600E1BC69 /* libsrtp.a in Frameworks */, - 34F9E00F14C4204600E1BC69 /* libvpx.a in Frameworks */, - 34F9E00C14C4203900E1BC69 /* OpenGLES.framework in Frameworks */, - 34F9E00D14C4203900E1BC69 /* QuartzCore.framework in Frameworks */, - 2294996912A53FEE00D6CF48 /* Foundation.framework in Frameworks */, - F079D963199A6871009C58AA /* libantlr3c.a in Frameworks */, - 2294996A12A53FEE00D6CF48 /* UIKit.framework in Frameworks */, - F079D977199A68BA009C58AA /* libopus.a in Frameworks */, - 2294996B12A53FEE00D6CF48 /* CoreGraphics.framework in Frameworks */, - 2294997612A53FEE00D6CF48 /* CFNetwork.framework in Frameworks */, - 2294997712A53FEE00D6CF48 /* CoreAudio.framework in Frameworks */, - 2294997812A53FEE00D6CF48 /* AudioToolbox.framework in Frameworks */, - 2294997912A53FEE00D6CF48 /* libresolv.dylib in Frameworks */, - 154E1A9D171564B500A0D168 /* libavcodec.a in Frameworks */, - 154E1AA0171564BA00A0D168 /* libavutil.a in Frameworks */, - 154E1AA3171564C100A0D168 /* libilbc.a in Frameworks */, - 154E1AA6171564C600A0D168 /* libmediastreamer_base.a in Frameworks */, - 154E1AA9171564C900A0D168 /* libmediastreamer_voip.a in Frameworks */, - 154E1AB21715661100A0D168 /* libswscale.a in Frameworks */, + 63D5C1891BA6E90D002D1ABF /* QuartzCore.framework in Frameworks */, + 63D5C1881BA6E907002D1ABF /* OpenGLES.framework in Frameworks */, + 63D5C1871BA6E902002D1ABF /* UIKit.framework in Frameworks */, + 63D5C1861BA6E8FD002D1ABF /* Foundation.framework in Frameworks */, + 63D5C1851BA6E8FA002D1ABF /* CoreVideo.framework in Frameworks */, + 63D5C1841BA6E8F5002D1ABF /* CoreMedia.framework in Frameworks */, + 63D5C1831BA6E8EE002D1ABF /* CoreGraphics.framework in Frameworks */, + 63D5C1821BA6E8E8002D1ABF /* CoreAudio.framework in Frameworks */, + 63D5C1811BA6E8E3002D1ABF /* CFNetwork.framework in Frameworks */, + 63D5C1801BA6E8DE002D1ABF /* AVFoundation.framework in Frameworks */, + 63D5C17F1BA6E8D6002D1ABF /* AudioToolbox.framework in Frameworks */, + 63D5C17E1BA6E8D1002D1ABF /* libiconv.dylib in Frameworks */, + 63D5C17D1BA6E8CC002D1ABF /* libxml2.dylib in Frameworks */, + 63D5C17C1BA6E8C6002D1ABF /* libresolv.dylib in Frameworks */, + 63D5C17B1BA6E8C2002D1ABF /* libz.dylib in Frameworks */, + 63D5C17A1BA6E8BD002D1ABF /* libsqlite3.dylib in Frameworks */, + 63D5C1721BA6E778002D1ABF /* libmsamr.a in Frameworks */, + 63D5C1731BA6E778002D1ABF /* libmsbcg729.a in Frameworks */, + 63D5C1741BA6E778002D1ABF /* libmsilbc.a in Frameworks */, + 63D5C1751BA6E778002D1ABF /* libmsopenh264.a in Frameworks */, + 63D5C1761BA6E778002D1ABF /* libmssilk.a in Frameworks */, + 63D5C1771BA6E778002D1ABF /* libmswebrtc.a in Frameworks */, + 63D5C1781BA6E778002D1ABF /* libmsx264.a in Frameworks */, + 63D5C1571BA6E765002D1ABF /* libantlr3c.a in Frameworks */, + 63D5C1581BA6E765002D1ABF /* libavcodec.a in Frameworks */, + 63D5C1591BA6E765002D1ABF /* libavutil.a in Frameworks */, + 63D5C15A1BA6E765002D1ABF /* libbellesip.a in Frameworks */, + 63D5C15B1BA6E765002D1ABF /* libbzrtp.a in Frameworks */, + 63D5C15C1BA6E765002D1ABF /* libcunit.a in Frameworks */, + 63D5C15D1BA6E765002D1ABF /* libgsm.a in Frameworks */, + 63D5C15E1BA6E765002D1ABF /* libilbcrfc3951.a in Frameworks */, + 63D5C15F1BA6E765002D1ABF /* liblinphone.a in Frameworks */, + 63D5C1601BA6E765002D1ABF /* liblinphonetester.a in Frameworks */, + 63D5C1611BA6E765002D1ABF /* libmediastreamer_base.a in Frameworks */, + 63D5C1621BA6E765002D1ABF /* libmediastreamer_voip.a in Frameworks */, + 63D5C1631BA6E765002D1ABF /* libopencore-amrnb.a in Frameworks */, + 63D5C1641BA6E765002D1ABF /* libopencore-amrwb.a in Frameworks */, + 63D5C1651BA6E765002D1ABF /* libopenh264.a in Frameworks */, + 63D5C1661BA6E765002D1ABF /* libopus.a in Frameworks */, + 63D5C1671BA6E765002D1ABF /* libortp.a in Frameworks */, + 63D5C1681BA6E765002D1ABF /* libpolarssl.a in Frameworks */, + 63D5C1691BA6E765002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, + 63D5C16A1BA6E765002D1ABF /* libspeex.a in Frameworks */, + 63D5C16B1BA6E765002D1ABF /* libspeexdsp.a in Frameworks */, + 63D5C16C1BA6E765002D1ABF /* libsrtp.a in Frameworks */, + 63D5C16D1BA6E765002D1ABF /* libswresample.a in Frameworks */, + 63D5C16E1BA6E765002D1ABF /* libswscale.a in Frameworks */, + 63D5C16F1BA6E765002D1ABF /* libtunnel.a in Frameworks */, + 63D5C1701BA6E765002D1ABF /* libvpx.a in Frameworks */, + 63D5C1711BA6E765002D1ABF /* libx264.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -270,38 +383,49 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63D5C1A71BA6E943002D1ABF /* libz.dylib in Frameworks */, + 63D5C1A61BA6E93D002D1ABF /* libxml2.dylib in Frameworks */, + 63D5C1A51BA6E937002D1ABF /* libiconv.dylib in Frameworks */, + 63D5C18A1BA6E92A002D1ABF /* libantlr3c.a in Frameworks */, + 63D5C18B1BA6E92A002D1ABF /* libavcodec.a in Frameworks */, + 63D5C18C1BA6E92A002D1ABF /* libavutil.a in Frameworks */, + 63D5C18D1BA6E92A002D1ABF /* libbellesip.a in Frameworks */, + 63D5C18E1BA6E92A002D1ABF /* libbzrtp.a in Frameworks */, + 63D5C18F1BA6E92A002D1ABF /* libcunit.a in Frameworks */, + 63D5C1901BA6E92A002D1ABF /* libgsm.a in Frameworks */, + 63D5C1911BA6E92A002D1ABF /* libilbcrfc3951.a in Frameworks */, + 63D5C1921BA6E92A002D1ABF /* liblinphone.a in Frameworks */, + 63D5C1931BA6E92A002D1ABF /* liblinphonetester.a in Frameworks */, + 63D5C1941BA6E92A002D1ABF /* libmediastreamer_base.a in Frameworks */, + 63D5C1951BA6E92A002D1ABF /* libmediastreamer_voip.a in Frameworks */, + 63D5C1961BA6E92A002D1ABF /* libopencore-amrnb.a in Frameworks */, + 63D5C1971BA6E92A002D1ABF /* libopencore-amrwb.a in Frameworks */, + 63D5C1981BA6E92A002D1ABF /* libopenh264.a in Frameworks */, + 63D5C1991BA6E92A002D1ABF /* libopus.a in Frameworks */, + 63D5C19A1BA6E92A002D1ABF /* libortp.a in Frameworks */, + 63D5C19B1BA6E92A002D1ABF /* libpolarssl.a in Frameworks */, + 63D5C19C1BA6E92A002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, + 63D5C19D1BA6E92A002D1ABF /* libspeex.a in Frameworks */, + 63D5C19E1BA6E92A002D1ABF /* libspeexdsp.a in Frameworks */, + 63D5C19F1BA6E92A002D1ABF /* libsrtp.a in Frameworks */, + 63D5C1A01BA6E92A002D1ABF /* libswresample.a in Frameworks */, + 63D5C1A11BA6E92B002D1ABF /* libswscale.a in Frameworks */, + 63D5C1A21BA6E92B002D1ABF /* libtunnel.a in Frameworks */, + 63D5C1A31BA6E92B002D1ABF /* libvpx.a in Frameworks */, + 63D5C1A41BA6E92B002D1ABF /* libx264.a in Frameworks */, F079D97D199A6913009C58AA /* libsqlite3.dylib in Frameworks */, 34F9E03B14C4251B00E1BC69 /* AVFoundation.framework in Frameworks */, - F079D96E199A68A5009C58AA /* libxml2.a in Frameworks */, 34F9E03C14C4251B00E1BC69 /* CoreMedia.framework in Frameworks */, 34F9E03D14C4251B00E1BC69 /* CoreVideo.framework in Frameworks */, - F079D96A199A68A5009C58AA /* libpolarssl.a in Frameworks */, - F079D95F199A6864009C58AA /* libbellesip.a in Frameworks */, - F079D974199A68BA009C58AA /* libbzrtp.a in Frameworks */, - 34F9E02414C4211000E1BC69 /* libsrtp.a in Frameworks */, - 34F9E02514C4211000E1BC69 /* libvpx.a in Frameworks */, 34F9E02314C4210100E1BC69 /* OpenGLES.framework in Frameworks */, 34F9E02214C420FA00E1BC69 /* QuartzCore.framework in Frameworks */, - 34F9E01A14C420DD00E1BC69 /* libgsm.a in Frameworks */, - 34F9E01B14C420DD00E1BC69 /* liblinphone.a in Frameworks */, - 34F9E01C14C420DD00E1BC69 /* libortp.a in Frameworks */, - 34F9E01F14C420DD00E1BC69 /* libspeex.a in Frameworks */, - 34F9E02014C420DD00E1BC69 /* libspeexdsp.a in Frameworks */, 229499A612A5417D00D6CF48 /* Foundation.framework in Frameworks */, - F079D964199A6871009C58AA /* libantlr3c.a in Frameworks */, 229499A712A5417D00D6CF48 /* UIKit.framework in Frameworks */, - F079D978199A68BA009C58AA /* libopus.a in Frameworks */, 229499A812A5417D00D6CF48 /* CoreGraphics.framework in Frameworks */, 229499B312A5417D00D6CF48 /* CFNetwork.framework in Frameworks */, 229499B412A5417D00D6CF48 /* CoreAudio.framework in Frameworks */, 229499B512A5417D00D6CF48 /* AudioToolbox.framework in Frameworks */, 229499B612A5417D00D6CF48 /* libresolv.dylib in Frameworks */, - 154E1A9E171564B500A0D168 /* libavcodec.a in Frameworks */, - 154E1AA1171564BA00A0D168 /* libavutil.a in Frameworks */, - 154E1AA4171564C100A0D168 /* libilbc.a in Frameworks */, - 154E1AA7171564C600A0D168 /* libmediastreamer_base.a in Frameworks */, - 154E1AAA171564CA00A0D168 /* libmediastreamer_voip.a in Frameworks */, - 154E1AB31715661100A0D168 /* libswscale.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -309,38 +433,49 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63D5C1C51BA6E96D002D1ABF /* libxml2.dylib in Frameworks */, + 63D5C1C41BA6E969002D1ABF /* libiconv.dylib in Frameworks */, + 63D5C1C31BA6E963002D1ABF /* libz.dylib in Frameworks */, + 63D5C1A81BA6E95C002D1ABF /* libantlr3c.a in Frameworks */, + 63D5C1A91BA6E95C002D1ABF /* libavcodec.a in Frameworks */, + 63D5C1AA1BA6E95C002D1ABF /* libavutil.a in Frameworks */, + 63D5C1AB1BA6E95C002D1ABF /* libbellesip.a in Frameworks */, + 63D5C1AC1BA6E95C002D1ABF /* libbzrtp.a in Frameworks */, + 63D5C1AD1BA6E95C002D1ABF /* libcunit.a in Frameworks */, + 63D5C1AE1BA6E95C002D1ABF /* libgsm.a in Frameworks */, + 63D5C1AF1BA6E95C002D1ABF /* libilbcrfc3951.a in Frameworks */, + 63D5C1B01BA6E95C002D1ABF /* liblinphone.a in Frameworks */, + 63D5C1B11BA6E95C002D1ABF /* liblinphonetester.a in Frameworks */, + 63D5C1B21BA6E95C002D1ABF /* libmediastreamer_base.a in Frameworks */, + 63D5C1B31BA6E95C002D1ABF /* libmediastreamer_voip.a in Frameworks */, + 63D5C1B41BA6E95C002D1ABF /* libopencore-amrnb.a in Frameworks */, + 63D5C1B51BA6E95C002D1ABF /* libopencore-amrwb.a in Frameworks */, + 63D5C1B61BA6E95C002D1ABF /* libopenh264.a in Frameworks */, + 63D5C1B71BA6E95C002D1ABF /* libopus.a in Frameworks */, + 63D5C1B81BA6E95C002D1ABF /* libortp.a in Frameworks */, + 63D5C1B91BA6E95C002D1ABF /* libpolarssl.a in Frameworks */, + 63D5C1BA1BA6E95C002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, + 63D5C1BB1BA6E95C002D1ABF /* libspeex.a in Frameworks */, + 63D5C1BC1BA6E95C002D1ABF /* libspeexdsp.a in Frameworks */, + 63D5C1BD1BA6E95C002D1ABF /* libsrtp.a in Frameworks */, + 63D5C1BE1BA6E95C002D1ABF /* libswresample.a in Frameworks */, + 63D5C1BF1BA6E95C002D1ABF /* libswscale.a in Frameworks */, + 63D5C1C01BA6E95C002D1ABF /* libtunnel.a in Frameworks */, + 63D5C1C11BA6E95C002D1ABF /* libvpx.a in Frameworks */, + 63D5C1C21BA6E95C002D1ABF /* libx264.a in Frameworks */, F079D97E199A6919009C58AA /* libsqlite3.dylib in Frameworks */, 34F9E03814C4250B00E1BC69 /* AVFoundation.framework in Frameworks */, - F079D96F199A68A5009C58AA /* libxml2.a in Frameworks */, 34F9E03914C4250B00E1BC69 /* CoreMedia.framework in Frameworks */, 34F9E03A14C4250B00E1BC69 /* CoreVideo.framework in Frameworks */, - F079D96B199A68A5009C58AA /* libpolarssl.a in Frameworks */, - F079D960199A6864009C58AA /* libbellesip.a in Frameworks */, - F079D975199A68BA009C58AA /* libbzrtp.a in Frameworks */, - 34F9E02914C4214500E1BC69 /* libgsm.a in Frameworks */, - 34F9E02A14C4214500E1BC69 /* liblinphone.a in Frameworks */, - 34F9E02C14C4214500E1BC69 /* libortp.a in Frameworks */, - 34F9E02F14C4214500E1BC69 /* libspeex.a in Frameworks */, - 34F9E03014C4214500E1BC69 /* libspeexdsp.a in Frameworks */, - 34F9E03114C4214500E1BC69 /* libsrtp.a in Frameworks */, - 34F9E03214C4214500E1BC69 /* libvpx.a in Frameworks */, 34F9E02614C4212F00E1BC69 /* OpenGLES.framework in Frameworks */, 34F9E02714C4212F00E1BC69 /* QuartzCore.framework in Frameworks */, 229499EB12A5433F00D6CF48 /* Foundation.framework in Frameworks */, - F079D965199A6871009C58AA /* libantlr3c.a in Frameworks */, 229499EC12A5433F00D6CF48 /* UIKit.framework in Frameworks */, - F079D979199A68BA009C58AA /* libopus.a in Frameworks */, 229499ED12A5433F00D6CF48 /* CoreGraphics.framework in Frameworks */, 229499F812A5433F00D6CF48 /* CFNetwork.framework in Frameworks */, 229499F912A5433F00D6CF48 /* CoreAudio.framework in Frameworks */, 229499FA12A5433F00D6CF48 /* AudioToolbox.framework in Frameworks */, 229499FB12A5433F00D6CF48 /* libresolv.dylib in Frameworks */, - 154E1A9F171564B600A0D168 /* libavcodec.a in Frameworks */, - 154E1AA2171564BA00A0D168 /* libavutil.a in Frameworks */, - 154E1AA5171564C200A0D168 /* libilbc.a in Frameworks */, - 154E1AA8171564C700A0D168 /* libmediastreamer_base.a in Frameworks */, - 154E1AAB171564CA00A0D168 /* libmediastreamer_voip.a in Frameworks */, - 154E1AB41715661200A0D168 /* libswscale.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -381,10 +516,10 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( - 15FC167E17157478003FDB31 /* buddy_status.c */, - 15FC167F17157478003FDB31 /* chatroom.c */, - 15FC168017157478003FDB31 /* helloworld.c */, - 15FC168117157478003FDB31 /* registration.c */, + 63D5C0FA1BA6E3EB002D1ABF /* buddy_status.c */, + 63D5C0FB1BA6E3EB002D1ABF /* chatroom.c */, + 63D5C0FC1BA6E3EB002D1ABF /* helloworld.c */, + 63D5C0FD1BA6E3EB002D1ABF /* registration.c */, 32CA4F630368D1EE00C91783 /* hello_world_Prefix.pch */, ); name = "Other Sources"; @@ -401,26 +536,39 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 63D5C1541BA6E734002D1ABF /* Accelerate.framework */, + 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */, + 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */, + 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */, + 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */, + 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */, + 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */, + 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */, + 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */, + 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */, + 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */, + 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */, + 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */, + 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */, + 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */, + 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */, + 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */, + 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */, + 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */, + 63D5C1171BA6E4F0002D1ABF /* libopus.a */, + 63D5C1181BA6E4F0002D1ABF /* libortp.a */, + 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */, + 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */, + 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */, + 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */, + 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */, + 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */, + 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */, + 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */, + 63D5C1211BA6E4F0002D1ABF /* libvpx.a */, + 63D5C1221BA6E4F0002D1ABF /* libx264.a */, + 63D5C1231BA6E4F0002D1ABF /* mediastreamer */, F079D97A199A6905009C58AA /* libsqlite3.dylib */, - 154E1A991715644400A0D168 /* libavcodec.a */, - 154E1A971715642E00A0D168 /* libavutil.a */, - 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */, - F079D961199A6871009C58AA /* libantlr3c.a */, - 34F9DFED14C41EBA00E1BC69 /* libilbc.a */, - 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */, - 154E1A931715638900A0D168 /* libmediastreamer_base.a */, - 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */, - 34F9DFF014C41EBA00E1BC69 /* libortp.a */, - F079D966199A68A5009C58AA /* libpolarssl.a */, - F079D967199A68A5009C58AA /* libxml2.a */, - F079D970199A68BA009C58AA /* libbzrtp.a */, - F079D971199A68BA009C58AA /* libopus.a */, - F079D95C199A6864009C58AA /* libbellesip.a */, - 34F9DFF314C41EBA00E1BC69 /* libspeex.a */, - 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */, - 34F9E00414C41FCF00E1BC69 /* libsrtp.a */, - 154E1A9B1715645F00A0D168 /* libswscale.a */, - 34F9E00514C41FCF00E1BC69 /* libvpx.a */, 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */, 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */, 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */, @@ -437,6 +585,29 @@ name = Frameworks; sourceTree = ""; }; + 63D5C1231BA6E4F0002D1ABF /* mediastreamer */ = { + isa = PBXGroup; + children = ( + 63D5C1241BA6E4F0002D1ABF /* plugins */, + ); + name = mediastreamer; + path = "../liblinphone-sdk/apple-darwin/lib/mediastreamer"; + sourceTree = ""; + }; + 63D5C1241BA6E4F0002D1ABF /* plugins */ = { + isa = PBXGroup; + children = ( + 63D5C1251BA6E4F0002D1ABF /* libmsamr.a */, + 63D5C1261BA6E4F0002D1ABF /* libmsbcg729.a */, + 63D5C1271BA6E4F0002D1ABF /* libmsilbc.a */, + 63D5C1281BA6E4F0002D1ABF /* libmsopenh264.a */, + 63D5C1291BA6E4F0002D1ABF /* libmssilk.a */, + 63D5C12A1BA6E4F0002D1ABF /* libmswebrtc.a */, + 63D5C12B1BA6E4F0002D1ABF /* libmsx264.a */, + ); + path = plugins; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -574,7 +745,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 15FC168A17157478003FDB31 /* helloworld.c in Sources */, + 63D5C1001BA6E3EB002D1ABF /* helloworld.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -582,7 +753,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 15FC168F17157478003FDB31 /* registration.c in Sources */, + 63D5C1021BA6E3F7002D1ABF /* registration.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -590,7 +761,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 15FC168817157478003FDB31 /* chatroom.c in Sources */, + 63D5C1031BA6E3FA002D1ABF /* chatroom.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -598,7 +769,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 15FC168517157478003FDB31 /* buddy_status.c in Sources */, + 63D5C1041BA6E3FE002D1ABF /* buddy_status.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -616,10 +787,11 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = ""; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -635,10 +807,11 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = ""; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -657,11 +830,11 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -677,11 +850,11 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -700,11 +873,10 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\\\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\\\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -720,11 +892,10 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\\\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\\\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -743,11 +914,10 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\\\\\\\\\\\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\\\\\\\\\\\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -763,11 +933,10 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\\\\\\\\\\\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\\\\\\\\\\\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -778,14 +947,15 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = DEBUG; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../../liblinphone-sdk/apple-darwin/include"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib"; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib"; PREBINDING = NO; SDKROOT = iphoneos; }; @@ -794,13 +964,14 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../../liblinphone-sdk/apple-darwin/include"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib"; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib"; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PREBINDING = NO; SDKROOT = iphoneos; diff --git a/linphone-Info.plist b/linphone-Info.plist index 04f0fcf6b..cefdb0428 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -11,7 +11,7 @@ CFBundleIcons~ipad CFBundleIdentifier - org.linphone.phone + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleLocalizations diff --git a/linphone.xcodeproj/xcshareddata/xcschemes/LinphoneTester.xcscheme b/linphone.xcodeproj/xcshareddata/xcschemes/LinphoneTester.xcscheme index b8fc12525..03cb5e97d 100644 --- a/linphone.xcodeproj/xcshareddata/xcschemes/LinphoneTester.xcscheme +++ b/linphone.xcodeproj/xcshareddata/xcschemes/LinphoneTester.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -48,15 +48,18 @@ ReferencedContainer = "container:linphone.xcodeproj"> + + @@ -72,10 +75,10 @@ diff --git a/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme b/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme index efb754ce6..9781b8192 100644 --- a/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme +++ b/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -62,15 +62,18 @@ ReferencedContainer = "container:linphone.xcodeproj"> + + @@ -91,10 +94,10 @@ diff --git a/prepare.py b/prepare.py index b14456239..971bea7ca 100755 --- a/prepare.py +++ b/prepare.py @@ -112,7 +112,8 @@ class PlatformListAction(argparse.Action): def gpl_disclaimer(platforms): cmakecache = 'WORK/ios-{arch}/cmake/CMakeCache.txt'.format(arch=platforms[0]) - gpl_third_parties_enabled = "ENABLE_GPL_THIRD_PARTIES:BOOL=YES" in open(cmakecache).read() or "ENABLE_GPL_THIRD_PARTIES:BOOL=ON" in open(cmakecache).read() + gpl_third_parties_enabled = "ENABLE_GPL_THIRD_PARTIES:BOOL=YES" in open( + cmakecache).read() or "ENABLE_GPL_THIRD_PARTIES:BOOL=ON" in open(cmakecache).read() if gpl_third_parties_enabled: warning("\n***************************************************************************" @@ -135,20 +136,29 @@ def gpl_disclaimer(platforms): "\n***************************************************************************") -def extract_libs_list(): +def extract_from_xcode_project_with_regex(regex): l = [] - # name = libspeexdsp.a; path = "liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; - regex = re.compile("name = (\")*(lib(\S+))\.a(\")*; path = \"liblinphone-sdk/apple-darwin/") f = open('linphone.xcodeproj/project.pbxproj', 'r') lines = f.readlines() f.close() for line in lines: m = regex.search(line) if m is not None: - l += [m.group(2)] + l += [m.group(1)] return list(set(l)) +def extract_deployment_target(): + regex = re.compile("IPHONEOS_DEPLOYMENT_TARGET = (.*);") + return extract_from_xcode_project_with_regex(regex)[0] + + +def extract_libs_list(): + # name = libspeexdsp.a; path = "liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; + regex = re.compile("name = \"*(lib\S+)\.a(\")*; path = \"liblinphone-sdk/apple-darwin/") + return extract_from_xcode_project_with_regex(regex) + + missing_dependencies = {} @@ -238,14 +248,16 @@ def check_tools(): error("iOS SDK not found, please install Xcode from AppStore or equivalent.") reterr = 1 else: - sdk_platform_path = Popen( - "xcrun --sdk iphonesimulator --show-sdk-platform-path".split(" "), stdout=PIPE, stderr=devnull).stdout.read()[:-1] - sdk_strings_path = "{}/{}".format(sdk_platform_path, "Developer/usr/bin/strings") - if not os.path.isfile(sdk_strings_path): - strings_path = find_executable("strings") - error("strings binary missing, please run:\n\tsudo ln -s {} {}".format(strings_path, sdk_strings_path)) - reterr = 1 - + xcode_version = int( + Popen("xcodebuild -version".split(" "), stdout=PIPE).stdout.read().split("\n")[0].split(" ")[1].split(".")[0]) + if xcode_version < 7: + sdk_platform_path = Popen( + "xcrun --sdk iphonesimulator --show-sdk-platform-path".split(" "), stdout=PIPE, stderr=devnull).stdout.read()[:-1] + sdk_strings_path = "{}/{}".format(sdk_platform_path, "Developer/usr/bin/strings") + if not os.path.isfile(sdk_strings_path): + strings_path = find_executable("strings") + error("strings binary missing, please run:\n\tsudo ln -s {} {}".format(strings_path, sdk_strings_path)) + reterr = 1 return reterr @@ -258,7 +270,6 @@ def install_git_hook(): def generate_makefile(platforms, generator): - libs_list = extract_libs_list() packages = os.listdir('WORK/ios-' + platforms[0] + '/Build') packages.sort() arch_targets = "" @@ -281,6 +292,9 @@ def generate_makefile(platforms, generator): \t\t$(MAKE) {arch}-veryclean-$$package; \\ \tdone +{arch}-build-dummy_libraries: +\t{generator} WORK/ios-{arch}/cmake EP_dummy_libraries + {arch}-build-%: package-in-list-% \trm -f WORK/ios-{arch}/Stamp/EP_$*/EP_$*-update; \\ \t{generator} WORK/ios-{arch}/cmake EP_$* @@ -336,11 +350,10 @@ def generate_makefile(platforms, generator): makefile = """ archs={archs} packages={packages} -libs_list={libs_list} LINPHONE_IPHONE_VERSION=$(shell git describe --always) .PHONY: all -.SILENT: lipo +.SILENT: sdk all: build @@ -380,14 +393,7 @@ clean: $(addprefix clean-,$(packages)) veryclean: $(addprefix veryclean-,$(packages)) -generate-dummy-%: -\t@echo "[{archs}] Generating dummy $* static library." ; \\ -\tprintf "void $*_init() {{}}" | tr '-' '_' > .dummy.c ; \\ -\tfor arch in {archs}; do clang -c .dummy.c -arch $$arch -o .dummy-$$arch.a; done ; \\ -\tlipo -create -output .dummy.a .dummy-*.a ; \\ -\trm .dummy-*.a .dummy.c - -lipo: +sdk: \tarchives=`find liblinphone-sdk/{first_arch}-apple-darwin.ios -name *.a` && \\ \trm -rf liblinphone-sdk/apple-darwin && \\ \tmkdir -p liblinphone-sdk/apple-darwin && \\ @@ -405,27 +411,16 @@ lipo: \t\t{multiarch} \\ \t\techo "[{archs}] Mixing `basename $$archive` in $$destpath"; \\ \t\tlipo -create $$all_paths -output $$destpath; \\ -\tdone && \\ -\tfor lib in {libs_list} ; do \\ -\t\tif [ $${{lib:0:5}} = "libms" ] ; then \\ -\t\t\tlibrary_path=liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/$${{lib}}.a ; \\ -\t\telse \\ -\t\t\tlibrary_path=liblinphone-sdk/apple-darwin/lib/$${{lib}}.a ; \\ -\t\tfi ; \\ -\t\tif ! test -f $$library_path ; then \\ -\t\t\t$(MAKE) generate-dummy-$$lib ; \\ -\t\t\tmv .dummy.a $$library_path ; \\ -\t\tfi \\ \tdone build: $(addprefix all-,$(archs)) -\t$(MAKE) lipo +\t$(MAKE) sdk ipa: build \txcodebuild -configuration Release \\ \t&& xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/linphone.app -o $$PWD/linphone-iphone.ipa -sdk: build +zipsdk: sdk \techo "Generating SDK zip file for version $(LINPHONE_IPHONE_VERSION)" \tzip -r liblinphone-iphone-sdk-$(LINPHONE_IPHONE_VERSION).zip \\ \tliblinphone-sdk/apple-darwin \\ @@ -458,7 +453,8 @@ help: help-prepare-options \t@echo "Available targets:" \t@echo "" \t@echo " * all or build: builds all architectures and creates the liblinphone SDK" -\t@echo " * sdk: generates a ZIP archive of liblinphone-sdk/apple-darwin containing the SDK. Use this only after a full build." +\t@echo " * sdk: creates the liblinphone SDK. Use this only after a full build" +\t@echo " * zipsdk: generates a ZIP archive of liblinphone-sdk/apple-darwin containing the SDK. Use this only after SDK is built." \t@echo " * zipres: creates a tar.gz file with all the resources (images)" \t@echo "" \t@echo "=== Advanced usage ===" @@ -472,8 +468,7 @@ help: help-prepare-options """.format(archs=' '.join(platforms), arch_opts='|'.join(platforms), first_arch=platforms[0], options=' '.join(sys.argv), arch_targets=arch_targets, packages=' '.join(packages), - libs_list=' '.join(libs_list), multiarch=multiarch, - generator=generator) + multiarch=multiarch, generator=generator) f = open('Makefile', 'w') f.write(makefile) f.close() @@ -523,6 +518,8 @@ def main(argv=None): if check_tools() != 0: return 1 + additional_args += ["-DLINPHONE_IOS_DEPLOYMENT_TARGET=" + extract_deployment_target()] + additional_args += ["-DLINPHONE_BUILDER_DUMMY_LIBRARIES=" + ' '.join(extract_libs_list())] if args.debug_verbose is True: additional_args += ["-DENABLE_DEBUG_LOGS=YES"] if args.enable_non_free_codecs is True: @@ -560,17 +557,21 @@ def main(argv=None): shutil.rmtree(tmpdir) return 0 - selected_platforms = [] + selected_platforms_dup = [] for platform in args.platform: if platform == 'all': - selected_platforms += archs_device + archs_simu + selected_platforms_dup += archs_device + archs_simu elif platform == 'devices': - selected_platforms += archs_device + selected_platforms_dup += archs_device elif platform == 'simulators': - selected_platforms += archs_simu + selected_platforms_dup += archs_simu else: - selected_platforms += [platform] - selected_platforms = list(set(selected_platforms)) + selected_platforms_dup += [platform] + # unify platforms but keep provided order + selected_platforms = [] + for x in selected_platforms_dup: + if x not in selected_platforms: + selected_platforms.append(x) for platform in selected_platforms: target = targets[platform] @@ -578,7 +579,7 @@ def main(argv=None): if args.clean: target.clean() else: - retcode = prepare.run (target, args.debug, False, args.list_cmake_variables, args.force, additional_args) + retcode = prepare.run(target, args.debug, False, args.list_cmake_variables, args.force, additional_args) if retcode != 0: if retcode == 51: Popen("make help-prepare-options".split(" ")) diff --git a/submodules/MS2/MS2.xcodeproj/project.pbxproj b/submodules/MS2/MS2.xcodeproj/project.pbxproj index 58a9b37cc..4b01b2a7d 100644 --- a/submodules/MS2/MS2.xcodeproj/project.pbxproj +++ b/submodules/MS2/MS2.xcodeproj/project.pbxproj @@ -33,7 +33,6 @@ F03A97B81AFA563200651655 /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A31AFA563200651655 /* libopus.a */; }; F03A97B91AFA563200651655 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A41AFA563200651655 /* libortp.a */; }; F03A97BA1AFA563200651655 /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A51AFA563200651655 /* libpolarssl.a */; }; - F03A97BB1AFA563200651655 /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A61AFA563200651655 /* libSKP_SILK_SDK.a */; }; F03A97BC1AFA563200651655 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A71AFA563200651655 /* libspeex.a */; }; F03A97BD1AFA563200651655 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A81AFA563200651655 /* libspeexdsp.a */; }; F03A97BE1AFA563200651655 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A91AFA563200651655 /* libsrtp.a */; }; @@ -96,7 +95,6 @@ F03A97A31AFA563200651655 /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libopus.a"; sourceTree = ""; }; F03A97A41AFA563200651655 /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libortp.a"; sourceTree = ""; }; F03A97A51AFA563200651655 /* libpolarssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpolarssl.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libpolarssl.a"; sourceTree = ""; }; - F03A97A61AFA563200651655 /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; F03A97A71AFA563200651655 /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; F03A97A81AFA563200651655 /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; F03A97A91AFA563200651655 /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; @@ -134,7 +132,6 @@ F03A97B91AFA563200651655 /* libortp.a in Frameworks */, F03A97CA1AFA565C00651655 /* libxml2.a in Frameworks */, F03A97981AFA561A00651655 /* libmsx264.a in Frameworks */, - F03A97BB1AFA563200651655 /* libSKP_SILK_SDK.a in Frameworks */, F03A97B81AFA563200651655 /* libopus.a in Frameworks */, F03A97B31AFA563200651655 /* libmediastreamer_base.a in Frameworks */, F03A97B41AFA563200651655 /* libmediastreamer_voip.a in Frameworks */, @@ -259,7 +256,6 @@ F03A97A31AFA563200651655 /* libopus.a */, F03A97A41AFA563200651655 /* libortp.a */, F03A97A51AFA563200651655 /* libpolarssl.a */, - F03A97A61AFA563200651655 /* libSKP_SILK_SDK.a */, F03A97A71AFA563200651655 /* libspeex.a */, F03A97A81AFA563200651655 /* libspeexdsp.a */, F03A97A91AFA563200651655 /* libsrtp.a */, diff --git a/submodules/belle-sip b/submodules/belle-sip index 8115fd975..9bf1eecf1 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 8115fd9758f4e0e16e3352e1531a6f095fe60ef2 +Subproject commit 9bf1eecf12bb8a0884025d35de9b50b0875b9ecc diff --git a/submodules/cmake-builder b/submodules/cmake-builder index eff880b7d..aece45302 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit eff880b7ddfa7b09799377c3a24cc1848fc26220 +Subproject commit aece45302149a063d64efd0f417f3887a9ed13ca diff --git a/submodules/cunit b/submodules/cunit index f7c0fe0b5..0a0a9c60f 160000 --- a/submodules/cunit +++ b/submodules/cunit @@ -1 +1 @@ -Subproject commit f7c0fe0b5b03f5bc8addd45b359ea5c561d0a9d0 +Subproject commit 0a0a9c60f5a1b899ae26b705fa5224ef25377982 diff --git a/submodules/externals/libvpx b/submodules/externals/libvpx index c74bf6d88..be6eee2fc 160000 --- a/submodules/externals/libvpx +++ b/submodules/externals/libvpx @@ -1 +1 @@ -Subproject commit c74bf6d889992c3cabe017ec353ca85c323107cd +Subproject commit be6eee2fcc272d3a98c58454298af10558f44e5f diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index f7f96af9b..4544e1bb1 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -108,7 +108,6 @@ 225D64671521BFA6008B2E81 /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6F311F6CF9F00621220 /* utils.h */; }; 225D64811521BFA6008B2E81 /* zrtp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7014533B13FA7ECA00A01D86 /* zrtp.h */; }; 225D64F21521BFA6008B2E81 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; - 225D64F31521BFA6008B2E81 /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */; }; 225D64FC1521C009008B2E81 /* liblinphone_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* liblinphone_Prefix.pch */; }; 225D64FD1521C009008B2E81 /* allfilters.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5BE11F6CF7600621220 /* allfilters.h */; }; 225D64FE1521C009008B2E81 /* dsptools.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5BF11F6CF7600621220 /* dsptools.h */; }; @@ -317,7 +316,6 @@ 22C8D0DF1769F8FF00DAFB4E /* speexec.c in Sources */ = {isa = PBXBuildFile; fileRef = 22D07CE416F3BFCB009F2C9E /* speexec.c */; }; 22C8D0E01769F8FF00DAFB4E /* msopus.c in Sources */ = {isa = PBXBuildFile; fileRef = 22AF73BD1753E83700BE8398 /* msopus.c */; }; 22C8D0E21769F8FF00DAFB4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; - 22C8D0E31769F8FF00DAFB4E /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */; }; 22C8D0ED176A079600DAFB4E /* aac-eld.c in Sources */ = {isa = PBXBuildFile; fileRef = 22C8D0EC176A079600DAFB4E /* aac-eld.c */; }; 22DD19C113A8D7FA0018ECD4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */; }; 22DD19C213A8D7FA0018ECD4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; @@ -538,7 +536,6 @@ 220ED1A613A9040700AC21E0 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 220ED1A813A9041800AC21E0 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 2211DB9E14765CEC00DEE054 /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmssilk.a; path = "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmssilk.a"; sourceTree = ""; }; - 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "../liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; 221DCB6A153584410025E54D /* yuv2rgb.fs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = yuv2rgb.fs; sourceTree = ""; }; 221DCB6B153584410025E54D /* yuv2rgb.vs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = yuv2rgb.vs; sourceTree = ""; }; 221F589913AB4EEE00D603C9 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; @@ -813,7 +810,6 @@ buildActionMask = 2147483647; files = ( 225D64F21521BFA6008B2E81 /* Foundation.framework in Frameworks */, - 225D64F31521BFA6008B2E81 /* libSKP_SILK_SDK.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -830,7 +826,6 @@ buildActionMask = 2147483647; files = ( 22C8D0E21769F8FF00DAFB4E /* Foundation.framework in Frameworks */, - 22C8D0E31769F8FF00DAFB4E /* libSKP_SILK_SDK.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1385,7 +1380,6 @@ 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */, 22DD19C313A8D7FA0018ECD4 /* CoreGraphics.framework */, 22AF73BF1753F3E100BE8398 /* libopus.a */, - 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */, 2211DB9E14765CEC00DEE054 /* libmssilk.a */, 7066FC0913E830B800EFC6DC /* libvpx.a */, 70E542F013E147CE002BA2C0 /* QuartzCore.framework */, diff --git a/submodules/linphone b/submodules/linphone index d1907a0d4..7cbbb6b17 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit d1907a0d4879cf57e3a4d967ddafc82abe9d39db +Subproject commit 7cbbb6b17e4f1de3fa48f89c541092754f3455b4