diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 288d2b11b..da5da9c57 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -573,10 +573,10 @@ static void dump_section(const char *section, void *data) { #pragma mark - Logs Functions handlers static void linphone_iphone_log_user_info(struct _LinphoneCore *lc, const char *message) { - linphone_iphone_log_handler(ORTP_MESSAGE, message, NULL); + linphone_iphone_log_handler(NULL, ORTP_MESSAGE, message, NULL); } static void linphone_iphone_log_user_warning(struct _LinphoneCore *lc, const char *message) { - linphone_iphone_log_handler(ORTP_WARNING, message, NULL); + linphone_iphone_log_handler(NULL, ORTP_WARNING, message, NULL); } #pragma mark - Display Status Functions @@ -1439,7 +1439,6 @@ static BOOL libStarted = FALSE; LOGI(@"linphonecore is already created"); return; } - linphone_core_set_log_collection_path([[LinphoneManager cacheDirectory] UTF8String]); [Log enableLogs:[self lpConfigBoolForKey:@"debugenable_preference"]]; connectivity = none; diff --git a/Classes/Log.h b/Classes/Log.h index c1d98b0c4..fabc9a4d5 100644 --- a/Classes/Log.h +++ b/Classes/Log.h @@ -19,13 +19,12 @@ #import "LinphoneManager.h" -#define APP_LVL 1 << 7 -#define LOGV(level, ...) [Log log:APP_LVL & level file:__FILE__ line:__LINE__ format:__VA_ARGS__] -#define LOGD(...) LOGV(APP_LVL | ORTP_DEBUG, __VA_ARGS__) -#define LOGI(...) LOGV(APP_LVL | ORTP_MESSAGE, __VA_ARGS__) -#define LOGW(...) LOGV(APP_LVL | ORTP_WARNING, __VA_ARGS__) -#define LOGE(...) LOGV(APP_LVL | ORTP_ERROR, __VA_ARGS__) -#define LOGF(...) LOGV(APP_LVL | ORTP_FATAL, __VA_ARGS__) +#define LOGV(level, ...) [Log log:level file:__FILE__ line:__LINE__ format:__VA_ARGS__] +#define LOGD(...) LOGV(ORTP_DEBUG, __VA_ARGS__) +#define LOGI(...) LOGV(ORTP_MESSAGE, __VA_ARGS__) +#define LOGW(...) LOGV(ORTP_WARNING, __VA_ARGS__) +#define LOGE(...) LOGV(ORTP_ERROR, __VA_ARGS__) +#define LOGF(...) LOGV(ORTP_FATAL, __VA_ARGS__) @interface Log : NSObject { } @@ -33,5 +32,5 @@ + (void)log:(OrtpLogLevel)severity file:(const char *)file line:(int)line format:(NSString *)format, ...; + (void)enableLogs:(BOOL)enabled; -void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); +void linphone_iphone_log_handler(const char *domain, OrtpLogLevel lev, const char *fmt, va_list args); @end \ No newline at end of file diff --git a/Classes/Utils/Log.m b/Classes/Utils/Log.m index 4a81cff07..d77a9d128 100644 --- a/Classes/Utils/Log.m +++ b/Classes/Utils/Log.m @@ -21,42 +21,45 @@ @implementation Log +#define FILESIZE 17 +#define DOMAIN_SIZE 3 + ++ (NSString *)cacheDirectory { + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); + NSString *cachePath = [paths objectAtIndex:0]; + BOOL isDir = NO; + NSError *error; + // cache directory must be created if not existing + if (![[NSFileManager defaultManager] fileExistsAtPath:cachePath isDirectory:&isDir] && isDir == NO) { + [[NSFileManager defaultManager] createDirectoryAtPath:cachePath + withIntermediateDirectories:NO + attributes:nil + error:&error]; + } + return cachePath; +} + + (void)log:(OrtpLogLevel)severity file:(const char *)file line:(int)line format:(NSString *)format, ... { va_list args; va_start(args, format); NSString *str = [[NSString alloc] initWithFormat:format arguments:args]; const char *utf8str = [str cStringUsingEncoding:NSString.defaultCStringEncoding]; - int filesize = 20; const char *filename = strchr(file, '/') ? strrchr(file, '/') + 1 : file; - char levelC = 'U'; // undefined - if ((severity & ORTP_FATAL) != 0) { - levelC = 'F'; - } else if ((severity & ORTP_ERROR) != 0) { - levelC = 'E'; - } else if ((severity & ORTP_WARNING) != 0) { - levelC = 'W'; - } else if ((severity & ORTP_MESSAGE) != 0) { - levelC = 'I'; - } else if ((severity & ORTP_DEBUG) != 0) { - levelC = 'D'; - } - if ((severity & ORTP_DEBUG) != 0) { // lol: ortp_debug(XXX) can be disabled at compile time, but ortp_log(ORTP_DEBUG, xxx) will always be valid even // not in debug build... - ortp_debug("%c %*s:%3d - %s", levelC, filesize, filename + MAX((int)strlen(filename) - filesize, 0), line, - utf8str); + ortp_debug("%*s:%-4d/%s", FILESIZE, filename + MAX((int)strlen(filename) - FILESIZE, 0), line, utf8str); } else { - // we want application logs to be always enabled (except debug ones) so use | ORTP_ERROR extra mask - ortp_log(severity | ORTP_ERROR, "%c %*s:%3d - %s", levelC, filesize, - filename + MAX((int)strlen(filename) - filesize, 0), line, utf8str); + ortp_log(severity, "%*s:%-4d/%s", FILESIZE, filename + MAX((int)strlen(filename) - FILESIZE, 0), line, utf8str); } va_end(args); } + (void)enableLogs:(BOOL)enabled { - linphone_core_enable_logs_with_cb((OrtpLogFunc)linphone_iphone_log_handler); + linphone_core_set_log_collection_path([self cacheDirectory].UTF8String); + linphone_core_enable_log_collection(enabled); + linphone_core_enable_logs_with_cb(linphone_iphone_log_handler); if (enabled) { NSLog(@"Enabling debug logs"); linphone_core_set_log_level(ORTP_DEBUG); @@ -64,30 +67,33 @@ NSLog(@"Disabling debug logs"); linphone_core_set_log_level(ORTP_ERROR); } - linphone_core_enable_log_collection(enabled); + ortp_set_log_level_mask("ios", ORTP_DEBUG | ORTP_MESSAGE | ORTP_WARNING | ORTP_ERROR | ORTP_FATAL); } #pragma mark - Logs Functions callbacks -void linphone_iphone_log_handler(int lev, const char *fmt, va_list args) { +void linphone_iphone_log_handler(const char *domain, OrtpLogLevel lev, const char *fmt, va_list args) { NSString *format = [[NSString alloc] initWithUTF8String:fmt]; NSString *formatedString = [[NSString alloc] initWithFormat:format arguments:args]; NSString *lvl = @""; - if ((lev & APP_LVL) == 0) { - if ((lev & ORTP_FATAL) != 0) { - lvl = @"F "; - } else if ((lev & ORTP_ERROR) != 0) { - lvl = @"E "; - } else if ((lev & ORTP_WARNING) != 0) { - lvl = @"W "; - } else if ((lev & ORTP_MESSAGE) != 0) { - lvl = @"I "; - } else if (((lev & ORTP_TRACE) != 0) || ((lev & ORTP_DEBUG) != 0)) { - lvl = @"D "; - } + if ((lev & ORTP_FATAL) != 0) { + lvl = @"F"; + } else if ((lev & ORTP_ERROR) != 0) { + lvl = @"E"; + } else if ((lev & ORTP_WARNING) != 0) { + lvl = @"W"; + } else if ((lev & ORTP_MESSAGE) != 0) { + lvl = @"I"; + } else if (((lev & ORTP_TRACE) != 0) || ((lev & ORTP_DEBUG) != 0)) { + lvl = @"D"; } + if (!domain) + domain = "liblinphone"; // since \r are interpreted like \n, avoid double new lines when logging network packets (belle-sip) - NSLog(@"%@%@", lvl, [formatedString stringByReplacingOccurrencesOfString:@"\r\n" withString:@"\n"]); + // output format is like: I/ios/some logs. We truncate domain to **exactly** DOMAIN_SIZE characters to have + // fixed-length aligned logs + NSLog(@"%@/%*.*s/%@", lvl, DOMAIN_SIZE, DOMAIN_SIZE, domain, + [formatedString stringByReplacingOccurrencesOfString:@"\r\n" withString:@"\n"]); } @end diff --git a/Default-568h@2x.png b/Default-568h@2x.png new file mode 100644 index 000000000..0891b7aab Binary files /dev/null and b/Default-568h@2x.png differ diff --git a/LiblinphoneTester/Base.lproj/Main_iPad.storyboard b/LiblinphoneTester/Base.lproj/Main_iPad.storyboard index a8dad803a..583e3d8f8 100644 --- a/LiblinphoneTester/Base.lproj/Main_iPad.storyboard +++ b/LiblinphoneTester/Base.lproj/Main_iPad.storyboard @@ -1,7 +1,8 @@ - + - + + @@ -22,13 +23,13 @@ - + - + @@ -36,7 +37,7 @@ + @@ -125,9 +127,4 @@ - - - - - diff --git a/LiblinphoneTester/Base.lproj/Main_iPhone.storyboard b/LiblinphoneTester/Base.lproj/Main_iPhone.storyboard index c9b353c45..f4b35eabc 100644 --- a/LiblinphoneTester/Base.lproj/Main_iPhone.storyboard +++ b/LiblinphoneTester/Base.lproj/Main_iPhone.storyboard @@ -1,7 +1,8 @@ - + - + + @@ -65,7 +66,7 @@ - + @@ -97,9 +98,4 @@ - - - - - diff --git a/LiblinphoneTester/DetailView.h b/LiblinphoneTester/DetailTableView.h similarity index 92% rename from LiblinphoneTester/DetailView.h rename to LiblinphoneTester/DetailTableView.h index 945535107..d005ec2b7 100644 --- a/LiblinphoneTester/DetailView.h +++ b/LiblinphoneTester/DetailTableView.h @@ -21,7 +21,7 @@ typedef NS_ENUM(int, TestState) { TestStateIdle, TestStatePassed, TestStateInPro @end -@interface DetailView : UITableViewController +@interface DetailTableView : UITableViewController @property(strong, nonatomic) NSString *detailItem; diff --git a/LiblinphoneTester/DetailView.m b/LiblinphoneTester/DetailTableView.m similarity index 95% rename from LiblinphoneTester/DetailView.m rename to LiblinphoneTester/DetailTableView.m index e2e0445eb..2aca75e78 100644 --- a/LiblinphoneTester/DetailView.m +++ b/LiblinphoneTester/DetailTableView.m @@ -6,7 +6,7 @@ // // -#import "DetailView.h" +#import "DetailTableView.h" #import "MasterView.h" #import "LogsView.h" #include "linphone/liblinphone_tester.h" @@ -36,7 +36,7 @@ static NSString *const kAllTestsName = @"Run All tests"; @end -@interface DetailView () { +@interface DetailTableView () { NSMutableArray *_tests; BOOL in_progress; } @@ -44,7 +44,7 @@ static NSString *const kAllTestsName = @"Run All tests"; - (void)configureView; @end -@implementation DetailView +@implementation DetailTableView #pragma mark - Managing the detail item @@ -113,7 +113,11 @@ static NSString *const kAllTestsName = @"Run All tests"; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"testCellIdentifier" forIndexPath:indexPath]; + static NSString *kCellId = @"testCellIdentifier"; + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId forIndexPath:indexPath]; + if (cell == nil) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellId]; + } TestItem *test = _tests[indexPath.row]; cell.textLabel.text = [NSString stringWithFormat:@"%@/%@", test.suite, test.name]; diff --git a/LiblinphoneTester/LinphoneTester-Info.plist b/LiblinphoneTester/LinphoneTester-Info.plist index e6e68329c..cce3a98e5 100644 --- a/LiblinphoneTester/LinphoneTester-Info.plist +++ b/LiblinphoneTester/LinphoneTester-Info.plist @@ -36,6 +36,8 @@ armv7 + UIRequiresFullScreen + UIStatusBarTintParameters UINavigationBar diff --git a/LiblinphoneTester/MasterView.h b/LiblinphoneTester/MasterView.h index ca609dc2d..2d10ab605 100644 --- a/LiblinphoneTester/MasterView.h +++ b/LiblinphoneTester/MasterView.h @@ -11,10 +11,10 @@ extern NSMutableArray *lastLogs; extern NSString *const kLogsUpdateNotification; -@class DetailView; +@class DetailTableView; @interface MasterView : UITableViewController -@property(strong, nonatomic) DetailView *detailViewController; +@property(strong, nonatomic) DetailTableView *detailViewController; @end diff --git a/LiblinphoneTester/MasterView.m b/LiblinphoneTester/MasterView.m index 60413188d..04710ae5e 100644 --- a/LiblinphoneTester/MasterView.m +++ b/LiblinphoneTester/MasterView.m @@ -8,7 +8,7 @@ #import "MasterView.h" #import "LogsView.h" -#import "DetailView.h" +#import "DetailTableView.h" #include "linphone/liblinphone_tester.h" #include "mediastreamer2/msutils.h" @@ -40,15 +40,18 @@ NSString *const kLogsUpdateNotification = @"kLogsUpdateNotification"; - (void)setupLogging { lastLogs = [[NSMutableArray alloc] initWithCapacity:kLastLogsCapacity]; logsBuffer = [NSMutableArray arrayWithCapacity:kLogsBufferCapacity]; + [Log enableLogs:YES]; +} - linphone_core_set_log_level(ORTP_MESSAGE); - linphone_core_set_log_handler((OrtpLogFunc)linphone_iphone_log_handler); +void tester_logs_handler(int level, const char *fmt, va_list args) { + linphone_iphone_log_handler(NULL, level, fmt, args); } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. - self.detailViewController = (DetailView *)[[self.splitViewController.viewControllers lastObject] topViewController]; + self.detailViewController = + (DetailTableView *)[[self.splitViewController.viewControllers lastObject] topViewController]; [self setupLogging]; @@ -56,7 +59,7 @@ NSString *const kLogsUpdateNotification = @"kLogsUpdateNotification"; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); documentPath = [paths objectAtIndex:0]; - bc_tester_init((void (*)(int, const char *fm, va_list))linphone_iphone_log_handler, ORTP_MESSAGE, ORTP_ERROR); + bc_tester_init(tester_logs_handler, ORTP_MESSAGE, ORTP_ERROR); liblinphone_tester_add_suites(); bc_tester_set_resource_dir_prefix([bundlePath UTF8String]); diff --git a/LiblinphoneTester/TesterImages.xcassets/Contents.json b/LiblinphoneTester/TesterImages.xcassets/Contents.json new file mode 100644 index 000000000..da4a164c9 --- /dev/null +++ b/LiblinphoneTester/TesterImages.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/LiblinphoneTester/TesterImages.xcassets/TestAppIcon.appiconset/Contents.json b/LiblinphoneTester/TesterImages.xcassets/TestAppIcon.appiconset/Contents.json index ebdf0618a..4a051112d 100644 --- a/LiblinphoneTester/TesterImages.xcassets/TestAppIcon.appiconset/Contents.json +++ b/LiblinphoneTester/TesterImages.xcassets/TestAppIcon.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" + }, { "idiom" : "iphone", "size" : "57x57", @@ -84,6 +94,11 @@ "idiom" : "ipad", "size" : "76x76", "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" } ], "info" : { diff --git a/LiblinphoneTester/TesterImages.xcassets/TestLaunchImage.launchimage/Contents.json b/LiblinphoneTester/TesterImages.xcassets/TestLaunchImage.launchimage/Contents.json deleted file mode 100644 index f62085cfc..000000000 --- a/LiblinphoneTester/TesterImages.xcassets/TestLaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "scale" : "1x", - "orientation" : "portrait" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "orientation" : "portrait" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "minimum-system-version" : "7.0", - "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "minimum-system-version" : "7.0", - "extent" : "full-screen", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "minimum-system-version" : "7.0", - "extent" : "full-screen", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "minimum-system-version" : "7.0", - "extent" : "full-screen", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "minimum-system-version" : "7.0", - "extent" : "full-screen", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/LiblinphoneTester/test_failed.png b/LiblinphoneTester/test_failed.png new file mode 100644 index 000000000..c174df390 Binary files /dev/null and b/LiblinphoneTester/test_failed.png differ diff --git a/LiblinphoneTester/test_inprogress.png b/LiblinphoneTester/test_inprogress.png new file mode 100644 index 000000000..f725a3eb9 Binary files /dev/null and b/LiblinphoneTester/test_inprogress.png differ diff --git a/LiblinphoneTester/test_passed.png b/LiblinphoneTester/test_passed.png new file mode 100644 index 000000000..f8edc012d Binary files /dev/null and b/LiblinphoneTester/test_passed.png differ diff --git a/TestsLiblinphone/LinphoneTester_Tests.m b/TestsLiblinphone/LinphoneTester_Tests.m index cf53f3ff7..b1e5c06ee 100644 --- a/TestsLiblinphone/LinphoneTester_Tests.m +++ b/TestsLiblinphone/LinphoneTester_Tests.m @@ -30,11 +30,14 @@ return [[testString componentsSeparatedByCharactersInSet:charactersToRemove] componentsJoinedByString:@"_"]; } -+ (void)initialize { +void tester_logs_handler(int level, const char *fmt, va_list args) { + linphone_iphone_log_handler(NULL, level, fmt, args); +} ++ (void)initialize { static char *bundle = NULL; static char *documents = NULL; - bc_tester_init((void (*)(int, const char *fm, va_list))linphone_iphone_log_handler, ORTP_MESSAGE, ORTP_ERROR); + bc_tester_init(tester_logs_handler, ORTP_MESSAGE, ORTP_ERROR); liblinphone_tester_add_suites(); NSString *bundlePath = [[NSBundle mainBundle] bundlePath]; diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index 371ef2365..cb2deb163 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -48,7 +48,6 @@ - (void)beforeEach { [[LinphoneManager instance] lpConfigSetInt:NO forKey:@"animations_preference"]; - linphone_core_set_log_level(ORTP_MESSAGE); } - (NSString *)me { diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 012ff9b1e..cc2de23f7 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -51,7 +51,7 @@ 63058A271B4E821E00EFAE36 /* Main_iPhone.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63058A131B4E821E00EFAE36 /* Main_iPhone.strings */; }; 63058A281B4E821E00EFAE36 /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 63058A151B4E821E00EFAE36 /* Main_iPad.storyboard */; }; 63058A291B4E821E00EFAE36 /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 63058A171B4E821E00EFAE36 /* Main_iPhone.storyboard */; }; - 63058A2A1B4E821E00EFAE36 /* DetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A1A1B4E821E00EFAE36 /* DetailView.m */; }; + 63058A2A1B4E821E00EFAE36 /* DetailTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A1A1B4E821E00EFAE36 /* DetailTableView.m */; }; 63058A2C1B4E821E00EFAE36 /* LogsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A1F1B4E821E00EFAE36 /* LogsView.m */; }; 63058A2D1B4E821E00EFAE36 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A201B4E821E00EFAE36 /* main.m */; }; 63058A2E1B4E821E00EFAE36 /* MasterView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A221B4E821E00EFAE36 /* MasterView.m */; }; @@ -544,6 +544,10 @@ 63D11C531C3D501200E8FCEE /* Log.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D11C521C3D501200E8FCEE /* Log.m */; }; 63D11C551C3D50A100E8FCEE /* Log.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D11C521C3D501200E8FCEE /* Log.m */; }; 63DFE04B1C40161700DA5E87 /* notes_of_the_optimistic.caf in Resources */ = {isa = PBXBuildFile; fileRef = 63DFE0451C40161700DA5E87 /* notes_of_the_optimistic.caf */; }; + 63E279DD1C4F8CEE00D332AE /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 63E279DC1C4F8CEE00D332AE /* Default-568h@2x.png */; }; + 63E279E71C4F9A2500D332AE /* test_failed.png in Resources */ = {isa = PBXBuildFile; fileRef = 63E279E41C4F9A2500D332AE /* test_failed.png */; }; + 63E279E81C4F9A2500D332AE /* test_inprogress.png in Resources */ = {isa = PBXBuildFile; fileRef = 63E279E51C4F9A2500D332AE /* test_inprogress.png */; }; + 63E279E91C4F9A2500D332AE /* test_passed.png in Resources */ = {isa = PBXBuildFile; fileRef = 63E279E61C4F9A2500D332AE /* test_passed.png */; }; 63E59A3F1ADE70D900646FB3 /* InAppProductsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */; }; 63EEE3FF1BBA9AC00087D3AF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A9B7E18C0D9C900C4D7FE /* libcunit.a */; }; 63EEE4001BBA9AC00087D3AF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F0BB8C0F193623F200974404 /* liblinphonetester.a */; }; @@ -852,8 +856,8 @@ 63058A141B4E821E00EFAE36 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Main_iPhone.strings; sourceTree = ""; }; 63058A161B4E821E00EFAE36 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPad.storyboard; sourceTree = ""; }; 63058A181B4E821E00EFAE36 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPhone.storyboard; sourceTree = ""; }; - 63058A191B4E821E00EFAE36 /* DetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailView.h; sourceTree = ""; }; - 63058A1A1B4E821E00EFAE36 /* DetailView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailView.m; sourceTree = ""; }; + 63058A191B4E821E00EFAE36 /* DetailTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailTableView.h; sourceTree = ""; }; + 63058A1A1B4E821E00EFAE36 /* DetailTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailTableView.m; sourceTree = ""; }; 63058A1B1B4E821E00EFAE36 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 63058A1C1B4E821E00EFAE36 /* LinphoneTester-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "LinphoneTester-Info.plist"; sourceTree = ""; }; 63058A1D1B4E821E00EFAE36 /* LinphoneTester-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "LinphoneTester-Prefix.pch"; sourceTree = ""; }; @@ -1357,6 +1361,10 @@ 63D11C521C3D501200E8FCEE /* Log.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Log.m; path = Utils/Log.m; sourceTree = ""; }; 63D11C541C3D503A00E8FCEE /* Log.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Log.h; sourceTree = ""; }; 63DFE0451C40161700DA5E87 /* notes_of_the_optimistic.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = notes_of_the_optimistic.caf; sourceTree = ""; }; + 63E279DC1C4F8CEE00D332AE /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + 63E279E41C4F9A2500D332AE /* test_failed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = test_failed.png; path = LiblinphoneTester/test_failed.png; sourceTree = SOURCE_ROOT; }; + 63E279E51C4F9A2500D332AE /* test_inprogress.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = test_inprogress.png; path = LiblinphoneTester/test_inprogress.png; sourceTree = SOURCE_ROOT; }; + 63E279E61C4F9A2500D332AE /* test_passed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = test_passed.png; path = LiblinphoneTester/test_passed.png; sourceTree = SOURCE_ROOT; }; 63E59A3D1ADE6ECB00646FB3 /* InAppProductsManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InAppProductsManager.h; sourceTree = ""; }; 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InAppProductsManager.m; sourceTree = ""; }; 63EA4C941B50189D00922857 /* libmswebrtc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmswebrtc.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmswebrtc.a"; sourceTree = ""; }; @@ -1932,6 +1940,7 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 63E279DC1C4F8CEE00D332AE /* Default-568h@2x.png */, 080E96DDFE201D6D7F000001 /* Classes */, 29B97323FDCFA39411CA2CEA /* Frameworks */, F0938158188E629800A55DFA /* iTunesArtwork */, @@ -2082,8 +2091,8 @@ 63058A131B4E821E00EFAE36 /* Main_iPhone.strings */, 63058A151B4E821E00EFAE36 /* Main_iPad.storyboard */, 63058A171B4E821E00EFAE36 /* Main_iPhone.storyboard */, - 63058A191B4E821E00EFAE36 /* DetailView.h */, - 63058A1A1B4E821E00EFAE36 /* DetailView.m */, + 63058A191B4E821E00EFAE36 /* DetailTableView.h */, + 63058A1A1B4E821E00EFAE36 /* DetailTableView.m */, 63058A1C1B4E821E00EFAE36 /* LinphoneTester-Info.plist */, 63058A1D1B4E821E00EFAE36 /* LinphoneTester-Prefix.pch */, 63058A1E1B4E821E00EFAE36 /* LogsView.h */, @@ -2126,6 +2135,9 @@ 636B967C1C298400003BA37C /* images */ = { isa = PBXGroup; children = ( + 63E279E41C4F9A2500D332AE /* test_failed.png */, + 63E279E51C4F9A2500D332AE /* test_inprogress.png */, + 63E279E61C4F9A2500D332AE /* test_passed.png */, 636B967D1C298400003BA37C /* add_field_default.png */, 636B967E1C298400003BA37C /* add_field_default@2x.png */, 636B967F1C298400003BA37C /* add_field_over.png */, @@ -3341,10 +3353,14 @@ 63058ADD1B4E937300EFAE36 /* marie_xml in Resources */, 63058ADE1B4E937300EFAE36 /* messages.db in Resources */, 63058ADF1B4E937300EFAE36 /* rcfiles in Resources */, + 63E279E71C4F9A2500D332AE /* test_failed.png in Resources */, + 63E279E81C4F9A2500D332AE /* test_inprogress.png in Resources */, 63058AE01B4E937300EFAE36 /* sounds in Resources */, 63058AE21B4E93A100EFAE36 /* tester_hosts in Resources */, + 63E279DD1C4F8CEE00D332AE /* Default-568h@2x.png in Resources */, 63058A2F1B4E821E00EFAE36 /* TesterImages.xcassets in Resources */, 63058A251B4E821E00EFAE36 /* InfoPlist.strings in Resources */, + 63E279E91C4F9A2500D332AE /* test_passed.png in Resources */, 63058A271B4E821E00EFAE36 /* Main_iPhone.strings in Resources */, 63058A261B4E821E00EFAE36 /* Main_iPad.strings in Resources */, 63058A291B4E821E00EFAE36 /* Main_iPhone.storyboard in Resources */, @@ -3525,7 +3541,7 @@ 63D11C551C3D50A100E8FCEE /* Log.m in Sources */, 63058A2D1B4E821E00EFAE36 /* main.m in Sources */, 63058A241B4E821E00EFAE36 /* AppDelegate.m in Sources */, - 63058A2A1B4E821E00EFAE36 /* DetailView.m in Sources */, + 63058A2A1B4E821E00EFAE36 /* DetailTableView.m in Sources */, 63058A2E1B4E821E00EFAE36 /* MasterView.m in Sources */, 63058A2C1B4E821E00EFAE36 /* LogsView.m in Sources */, ); @@ -4054,6 +4070,8 @@ HEADER_SEARCH_PATHS = ""; IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = "-DORTP_LOG_DOMAIN=\\\"ios\\\""; + OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PROVISIONING_PROFILE = "0636A6EA-90EB-4D92-B707-19FC32F9A7CF"; SDKROOT = iphoneos; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; @@ -4139,6 +4157,8 @@ HEADER_SEARCH_PATHS = ""; IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = "-DORTP_LOG_DOMAIN=\\\"ios\\\""; + OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; @@ -4224,6 +4244,8 @@ HEADER_SEARCH_PATHS = ""; IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = "-DORTP_LOG_DOMAIN=\\\"ios\\\""; + OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PROVISIONING_PROFILE = "C7F794BC-6D48-41F2-B37D-E1B1B1A40901"; SDKROOT = iphoneos; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; @@ -4311,6 +4333,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ""; ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "-DORTP_LOG_DOMAIN=\\\"ios\\\""; + OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PROVISIONING_PROFILE = "2AC0DC11-4546-47B6-8B8A-453CCA80903C"; SDKROOT = iphoneos; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; @@ -4510,7 +4534,6 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = TestAppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = TestLaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -4567,7 +4590,6 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = TestAppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = TestLaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -4618,7 +4640,6 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = TestAppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = TestLaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -4669,7 +4690,6 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = TestAppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = TestLaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; diff --git a/submodules/linphone b/submodules/linphone index 67f9bd206..8508f5435 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 67f9bd2068ab6d040ddadd4209a538aef99a893a +Subproject commit 8508f5435738598b646b37fc5ecb951ecd000281