From 99fcfb6a72432564a2c11ec14f97285b7e83ab96 Mon Sep 17 00:00:00 2001 From: Haowen Wu Date: Tue, 20 Oct 2020 17:55:56 +0800 Subject: [PATCH 1/2] Enable user define glFPS observer class --- .../FPSTrace/Core/MTHFPSTrace.h | 4 + .../FPSTrace/Core/MTHFPSTrace.m | 77 +++++-------------- 2 files changed, 24 insertions(+), 57 deletions(-) diff --git a/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.h b/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.h index 6f9a8e1..0877018 100644 --- a/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.h +++ b/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.h @@ -57,11 +57,15 @@ typedef struct { * caculate gl-fps count when renderProcessSEL call */ + (void)registerGLESRenderInfo:(MTHFPSGLRenderInfo)renderInfo; ++ (void)registerGLESClass:(Class)rendererClass; - (void)addDelegate:(id)delegate; - (void)removeDelegate:(id)delegate; - (void)start; - (void)stop; + +- (void)glesRenderer:(id)renderer start:(BOOL)start; +- (void)glesRenderProcess:(id)renderer; @end @protocol MTHFPSTraceDelegate diff --git a/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.m b/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.m index 7ab9ac7..f9a351e 100644 --- a/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.m +++ b/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.m @@ -27,7 +27,7 @@ @interface MTHFPSTrace () @property (nonatomic, assign) NSTimeInterval fpsTickLastTime; @property (nonatomic, assign) BOOL gpuImageViewFPSEnable; @property (nonatomic, strong) NSHashTable> *delegates; -@property (nonatomic, strong) NSArray *renderInfos; +@property (nonatomic, strong) NSMutableArray *renderInfos; @end @implementation MTHFPSTrace @@ -46,6 +46,15 @@ + (instancetype)shared { } #pragma mark - + ++ (void)registerGLESClass:(Class)rendererClass { + [self registerGLESRenderInfo:(MTHFPSGLRenderInfo){ + rendererClass, + NSSelectorFromString(@"createDisplayFramebuffer"), + NSSelectorFromString(@"destroyDisplayFramebuffer"), + NSSelectorFromString(@"presentFramebuffer")}]; +} + + (void)registerGLESRenderInfo:(MTHFPSGLRenderInfo)renderInfo { if (!renderInfo.rendererClass || !renderInfo.startRenderSEL || !renderInfo.endRenderSEL || !renderInfo.renderProcessSEL) { return; @@ -57,9 +66,9 @@ + (void)registerGLESRenderInfo:(MTHFPSGLRenderInfo)renderInfo { NSValue *value = [NSValue value:&renderInfo withObjCType:@encode(MTHFPSGLRenderInfo)]; if (![MTHFPSTrace shared].renderInfos) { - [MTHFPSTrace shared].renderInfos = [NSArray array]; + [MTHFPSTrace shared].renderInfos = [NSMutableArray array]; } - [[[MTHFPSTrace shared] mutableArrayValueForKey:@"renderInfos"] addObject:value]; + [[MTHFPSTrace shared].renderInfos addObject:value]; } - (void)addDelegate:(id)delegate { @@ -86,31 +95,18 @@ - (void)start { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - [MTHFPSTrace registerGLESRenderInfo:(MTHFPSGLRenderInfo){ - NSClassFromString(@"GPUImageView"), - NSSelectorFromString(@"createDisplayFramebuffer"), - NSSelectorFromString(@"destroyDisplayFramebuffer"), - NSSelectorFromString(@"presentFramebuffer")}]; - - [MTHFPSTrace registerGLESRenderInfo:(MTHFPSGLRenderInfo){ - NSClassFromString(@"MTCameraGPUImageView"), - NSSelectorFromString(@"createDisplayFramebuffer"), - NSSelectorFromString(@"destroyDisplayFramebuffer"), - NSSelectorFromString(@"presentFramebuffer")}]; + [MTHFPSTrace registerGLESClass:NSClassFromString(@"GPUImageView")]; + [MTHFPSTrace registerGLESClass:NSClassFromString(@"MTCameraGPUImageView")]; for (NSValue *value in self.renderInfos) { MTHFPSGLRenderInfo renderInfo; [value getValue:&renderInfo]; - - if ([NSStringFromClass(renderInfo.rendererClass) isEqualToString:@"GPUImageView"] || - [NSStringFromClass(renderInfo.rendererClass) isEqualToString:@"MTCameraGPUImageView"]) { - self.gpuImageViewFPSEnable = YES; - } + self.gpuImageViewFPSEnable = YES; SEL swizzledSel = [MTHawkeyeHooking swizzledSelectorForSelector:renderInfo.startRenderSEL]; void (^swizzleStartBlock)(id) = ^void(id obj) { - ((void (*)(id, SEL))objc_msgSend)(obj, swizzledSel); [self glesRenderer:obj start:YES]; + ((void (*)(id, SEL))objc_msgSend)(obj, swizzledSel); }; [MTHawkeyeHooking replaceImplementationOfKnownSelector:renderInfo.startRenderSEL onClass:renderInfo.rendererClass @@ -119,8 +115,8 @@ - (void)start { SEL swizzledSel1 = [MTHawkeyeHooking swizzledSelectorForSelector:renderInfo.endRenderSEL]; void (^swizzleEndBlock)(id) = ^void(id obj) { - ((void (*)(id, SEL))objc_msgSend)(obj, swizzledSel1); [self glesRenderer:obj start:NO]; + ((void (*)(id, SEL))objc_msgSend)(obj, swizzledSel1); }; [MTHawkeyeHooking replaceImplementationOfKnownSelector:renderInfo.endRenderSEL onClass:renderInfo.rendererClass @@ -184,28 +180,9 @@ - (void)glesRenderer:(id)renderer start:(BOOL)start { return; } - NSValue *surpportedRenderer = nil; - MTHFPSGLRenderCounter *counter = nil; - for (NSValue *obj in self.renderInfos) { - MTHFPSGLRenderInfo renderInfo; - [obj getValue:&renderInfo]; - if ([renderer isKindOfClass:renderInfo.rendererClass]) { - counter = [self getDynamicAttachGLESCounter:renderer]; - counter.isActive = start; - surpportedRenderer = obj; - if ([NSStringFromClass(renderInfo.rendererClass) isEqualToString:@"GPUImageView"] || - [NSStringFromClass(renderInfo.rendererClass) isEqualToString:@"MTCameraGPUImageView"]) { - counter.isGPUImageView = YES; - } else { - counter.isGPUImageView = NO; - } - break; - } - } - - if (!surpportedRenderer) { - return; - } + MTHFPSGLRenderCounter *counter = [self getDynamicAttachGLESCounter:renderer]; + counter.isActive = start; + counter.isGPUImageView = YES; for (id delegate in self.delegates) { if (delegate && [delegate respondsToSelector:@selector(glRenderCounterValueChange:)]) { @@ -223,20 +200,6 @@ - (void)glesRenderProcess:(id)renderer { return; } - NSValue *surpportedRenderer = nil; - for (NSValue *obj in self.renderInfos) { - MTHFPSGLRenderInfo renderInfo; - [obj getValue:&renderInfo]; - if ([renderer isKindOfClass:renderInfo.rendererClass]) { - surpportedRenderer = obj; - break; - } - } - - if (!surpportedRenderer) { - return; - } - MTHFPSGLRenderCounter *counter = [self getDynamicAttachGLESCounter:renderer]; if (!counter.isActive) { return; From 0eca4d855939a8ea814e337983435bee62089917 Mon Sep 17 00:00:00 2001 From: Haowen Wu Date: Tue, 20 Oct 2020 18:26:03 +0800 Subject: [PATCH 2/2] Avoid use private FLEX header --- ...workTransactionDetailTableViewController.m | 6 +- .../MTHDirectoryWatcherViewController.m | 26 ++- .../MTHawkeyeDemo.xcodeproj/project.pbxproj | 84 ++++++- .../xcschemes/MTHawkeyeDemo.xcscheme | 26 +-- MTHawkeyeDemo/Podfile.lock | 214 +++++++++--------- MTHawkeyeDemo/podfile | 4 +- 6 files changed, 212 insertions(+), 148 deletions(-) diff --git a/MTHawkeye/NetworkPlugins/HawkeyeUI/MTHNetworkTransactionDetailTableViewController.m b/MTHawkeye/NetworkPlugins/HawkeyeUI/MTHNetworkTransactionDetailTableViewController.m index 2f41899..f416484 100644 --- a/MTHawkeye/NetworkPlugins/HawkeyeUI/MTHNetworkTransactionDetailTableViewController.m +++ b/MTHawkeye/NetworkPlugins/HawkeyeUI/MTHNetworkTransactionDetailTableViewController.m @@ -26,8 +26,6 @@ #import #import -#import - typedef NS_ENUM(NSInteger, MTHawkeyeNetworkDetailRowStyle) { MTHawkeyeNetworkDetailRowDefault = 0, @@ -712,10 +710,10 @@ + (UIViewController *)detailViewControllerForMIMEType:(NSString *)mimeType data: #pragma clang diagnostic ignored "-Warc-performSelector-leaks" SEL yyImgSEL = NSSelectorFromString(@"imageWithData:"); image = [yyImageCls performSelector:yyImgSEL withObject:data]; -#pragma clang diagnostic pop } } - detailViewController = [FLEXImagePreviewViewController forImage:image]; + detailViewController = [NSClassFromString(@"FLEXImagePreviewViewController") performSelector:NSSelectorFromString(@"forImage:") withObject:image]; +#pragma clang diagnostic pop } else if ([mimeType isEqual:@"application/x-plist"]) { id propertyList = [NSPropertyListSerialization propertyListWithData:data options:0 format:NULL error:NULL]; detailViewController = [[MTHawkeyeWebViewController alloc] initWithText:[propertyList description]]; diff --git a/MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeUI/MTHDirectoryWatcherViewController.m b/MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeUI/MTHDirectoryWatcherViewController.m index 8f498f5..50ab9fc 100644 --- a/MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeUI/MTHDirectoryWatcherViewController.m +++ b/MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeUI/MTHDirectoryWatcherViewController.m @@ -21,11 +21,11 @@ #import "MTHawkeyeUserDefaults+DirectorWatcher.h" #import "UIViewController+MTHawkeyeLayoutSupport.h" -#import -#import -#import -#import -#import +#define FLEXFileBrowserController NSClassFromString(@"FLEXFileBrowserController") +#define FLEXImagePreviewViewController NSClassFromString(@"FLEXImagePreviewViewController") +#define FLEXTableListViewController NSClassFromString(@"FLEXTableListViewController") +#define FLEXUtility NSClassFromString(@"FLEXUtility") +#define FLEXWebViewController NSClassFromString(@"FLEXWebViewController") @interface MTHDirectoryWatcherViewController () @property (nonatomic, strong) UITableView *tableView; @@ -194,28 +194,31 @@ - (void)presentFlexFileBrowserWithPath:(NSString *)fullPath { NSString *subpath = [fullPath lastPathComponent]; NSString *pathExtension = [subpath pathExtension]; UIViewController *vc = nil; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" if (isDir) { - vc = [[FLEXFileBrowserController alloc] initWithPath:fullPath]; + vc = [FLEXFileBrowserController performSelector:NSSelectorFromString(@"path:") withObject:fullPath]; } else if ([@[@"jpg", @"jpeg", @"png", @"gif", @"tiff", @"tif"] containsObject:pathExtension]) { UIImage *image = [UIImage imageWithContentsOfFile:fullPath]; - vc = [FLEXImagePreviewViewController forImage:image]; + vc = [FLEXImagePreviewViewController performSelector:NSSelectorFromString(@"forImage:") withObject:image]; } else { // Special case keyed archives, json, and plists to get more readable data. NSString *prettyString = nil; if ([pathExtension isEqual:@"archive"] || [pathExtension isEqual:@"coded"]) { prettyString = [[NSKeyedUnarchiver unarchiveObjectWithFile:fullPath] description]; } else if ([pathExtension isEqualToString:@"json"]) { - prettyString = [FLEXUtility prettyJSONStringFromData:[NSData dataWithContentsOfFile:fullPath]]; + NSData *data = [NSData dataWithContentsOfFile:fullPath]; + prettyString = [FLEXUtility performSelector:NSSelectorFromString(@"prettyJSONStringFromData:") withObject:data]; } else if ([pathExtension isEqualToString:@"plist"]) { NSData *fileData = [NSData dataWithContentsOfFile:fullPath]; prettyString = [[NSPropertyListSerialization propertyListWithData:fileData options:0 format:NULL error:NULL] description]; } if ([prettyString length] > 0) { - vc = [[FLEXWebViewController alloc] initWithText:prettyString]; - } else if ([FLEXWebViewController supportsPathExtension:pathExtension]) { + vc = [[FLEXWebViewController alloc] performSelector:NSSelectorFromString(@"initWithText:") withObject:prettyString]; + } else if ([[FLEXWebViewController performSelector:NSSelectorFromString(@"supportsPathExtension:") withObject:pathExtension] boolValue]) { vc = [[FLEXWebViewController alloc] initWithURL:[NSURL fileURLWithPath:fullPath]]; - } else if ([FLEXTableListViewController supportsExtension:subpath.pathExtension]) { + } else if ([[FLEXTableListViewController performSelector:NSSelectorFromString(@"supportsExtension:") withObject:subpath.pathExtension] boolValue]) { vc = [[FLEXTableListViewController alloc] initWithPath:fullPath]; } else { NSString *fileString = [NSString stringWithContentsOfFile:fullPath encoding:NSUTF8StringEncoding error:NULL]; @@ -224,6 +227,7 @@ - (void)presentFlexFileBrowserWithPath:(NSString *)fullPath { } } } +#pragma clang diagnostic pop if (vc) { vc.title = [subpath lastPathComponent]; diff --git a/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/project.pbxproj b/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/project.pbxproj index caab979..b1be3a9 100644 --- a/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/project.pbxproj +++ b/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/project.pbxproj @@ -62,11 +62,11 @@ 20E24CF11FBA8CE700C9D9A5 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 20E24CF01FBA8CE700C9D9A5 /* Settings.bundle */; }; 20E671482189D17C0078DAAF /* mtha_backtrace_uniquing_table_test.m in Sources */ = {isa = PBXBuildFile; fileRef = 20E671472189D17C0078DAAF /* mtha_backtrace_uniquing_table_test.m */; }; 20E6714A218ACEC90078DAAF /* mtha_splay_tree_test.m in Sources */ = {isa = PBXBuildFile; fileRef = 20E67149218ACEC90078DAAF /* mtha_splay_tree_test.m */; }; - 26005FF0B1C6CE95CDBD3885 /* libPods-MTHawkeyeDemo-MTHawkeyeDemoTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA4D2EF447D912F6B056F1BF /* libPods-MTHawkeyeDemo-MTHawkeyeDemoTests.a */; }; - 458D24358C1002952345328E /* libPods-MTHawkeyeDemo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D7747057BC1D56BFA9DF99C /* libPods-MTHawkeyeDemo.a */; }; 64E17F8620612139004B1227 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 64E17F8520612139004B1227 /* libz.tbd */; }; 95E412A722421D9500DAC583 /* GLESTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 95E412A622421D9500DAC583 /* GLESTool.m */; }; 95E412AA2242432100DAC583 /* GraphicsTextureGLKView.m in Sources */ = {isa = PBXBuildFile; fileRef = 95E412A92242432100DAC583 /* GraphicsTextureGLKView.m */; }; + C947DA70639E815A5BBE685C /* Pods_MTHawkeyeDemo_MTHawkeyeDemoTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AF3C2E32125B3AFC624CE4B /* Pods_MTHawkeyeDemo_MTHawkeyeDemoTests.framework */; }; + E6BE0A199E2139F8AD770E10 /* Pods_MTHawkeyeDemo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D36A0944E9B6449843F0930 /* Pods_MTHawkeyeDemo.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -80,7 +80,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0D7747057BC1D56BFA9DF99C /* libPods-MTHawkeyeDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MTHawkeyeDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 0AF3C2E32125B3AFC624CE4B /* Pods_MTHawkeyeDemo_MTHawkeyeDemoTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MTHawkeyeDemo_MTHawkeyeDemoTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1134333053ECC65A8DF89290 /* Pods-MTHawkeyeDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MTHawkeyeDemo.release.xcconfig"; path = "Pods/Target Support Files/Pods-MTHawkeyeDemo/Pods-MTHawkeyeDemo.release.xcconfig"; sourceTree = ""; }; 203AA50B1F53A924006790E2 /* NetworkURLConnectionDelegateTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NetworkURLConnectionDelegateTests.m; sourceTree = ""; }; 203AA5111F53F46C006790E2 /* MTURLConnectionInjectTestViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MTURLConnectionInjectTestViewController.h; sourceTree = ""; }; @@ -252,6 +252,7 @@ 20E24CF01FBA8CE700C9D9A5 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; 20E671472189D17C0078DAAF /* mtha_backtrace_uniquing_table_test.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = mtha_backtrace_uniquing_table_test.m; sourceTree = ""; }; 20E67149218ACEC90078DAAF /* mtha_splay_tree_test.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = mtha_splay_tree_test.m; sourceTree = ""; }; + 4D36A0944E9B6449843F0930 /* Pods_MTHawkeyeDemo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MTHawkeyeDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 64E17F8520612139004B1227 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 8C058A273E14786B71715136 /* Pods-MTHawkeyeDemo-MTHawkeyeDemoTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MTHawkeyeDemo-MTHawkeyeDemoTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MTHawkeyeDemo-MTHawkeyeDemoTests/Pods-MTHawkeyeDemo-MTHawkeyeDemoTests.debug.xcconfig"; sourceTree = ""; }; 95E412A522421D9500DAC583 /* GLESTool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GLESTool.h; sourceTree = ""; }; @@ -260,7 +261,6 @@ 95E412A92242432100DAC583 /* GraphicsTextureGLKView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GraphicsTextureGLKView.m; sourceTree = ""; }; CAB802545212FBCE4C25527B /* Pods-MTHawkeyeDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MTHawkeyeDemo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MTHawkeyeDemo/Pods-MTHawkeyeDemo.debug.xcconfig"; sourceTree = ""; }; D8EDDBEBD6271B7BA2582197 /* Pods-MTHawkeyeDemo-MTHawkeyeDemoTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MTHawkeyeDemo-MTHawkeyeDemoTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-MTHawkeyeDemo-MTHawkeyeDemoTests/Pods-MTHawkeyeDemo-MTHawkeyeDemoTests.release.xcconfig"; sourceTree = ""; }; - DA4D2EF447D912F6B056F1BF /* libPods-MTHawkeyeDemo-MTHawkeyeDemoTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MTHawkeyeDemo-MTHawkeyeDemoTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -269,7 +269,7 @@ buildActionMask = 2147483647; files = ( 64E17F8620612139004B1227 /* libz.tbd in Frameworks */, - 458D24358C1002952345328E /* libPods-MTHawkeyeDemo.a in Frameworks */, + E6BE0A199E2139F8AD770E10 /* Pods_MTHawkeyeDemo.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -278,7 +278,7 @@ buildActionMask = 2147483647; files = ( 20BCE4242202F96A009E5CCF /* XCTest.framework in Frameworks */, - 26005FF0B1C6CE95CDBD3885 /* libPods-MTHawkeyeDemo-MTHawkeyeDemoTests.a in Frameworks */, + C947DA70639E815A5BBE685C /* Pods_MTHawkeyeDemo_MTHawkeyeDemoTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -290,8 +290,8 @@ children = ( 20BCE4232202F96A009E5CCF /* XCTest.framework */, 64E17F8520612139004B1227 /* libz.tbd */, - 0D7747057BC1D56BFA9DF99C /* libPods-MTHawkeyeDemo.a */, - DA4D2EF447D912F6B056F1BF /* libPods-MTHawkeyeDemo-MTHawkeyeDemoTests.a */, + 4D36A0944E9B6449843F0930 /* Pods_MTHawkeyeDemo.framework */, + 0AF3C2E32125B3AFC624CE4B /* Pods_MTHawkeyeDemo_MTHawkeyeDemoTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -692,6 +692,7 @@ 20DC16921ECDAAD500694EB9 /* Sources */, 20DC16931ECDAAD500694EB9 /* Frameworks */, 20DC16941ECDAAD500694EB9 /* Resources */, + 26ED1B33AB4E20DCB0182A5E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -710,6 +711,7 @@ 20DC16AB1ECDAAD500694EB9 /* Sources */, 20DC16AC1ECDAAD500694EB9 /* Frameworks */, 20DC16AD1ECDAAD500694EB9 /* Resources */, + B526A878012838C0A83504B7 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -796,6 +798,38 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 26ED1B33AB4E20DCB0182A5E /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-MTHawkeyeDemo/Pods-MTHawkeyeDemo-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", + "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", + "${BUILT_PRODUCTS_DIR}/FBRetainCycleDetector/FBRetainCycleDetector.framework", + "${BUILT_PRODUCTS_DIR}/FLEX/FLEX.framework", + "${BUILT_PRODUCTS_DIR}/MTAppenderFile/MTAppenderFile.framework", + "${BUILT_PRODUCTS_DIR}/MTGLDebug/MTGLDebug.framework", + "${BUILT_PRODUCTS_DIR}/MTHawkeye/MTHawkeye.framework", + "${BUILT_PRODUCTS_DIR}/fishhook/fishhook.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBRetainCycleDetector.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FLEX.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTAppenderFile.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTGLDebug.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTHawkeye.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/fishhook.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MTHawkeyeDemo/Pods-MTHawkeyeDemo-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 3620691B14A307E85D61AC69 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -832,6 +866,40 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + B526A878012838C0A83504B7 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-MTHawkeyeDemo-MTHawkeyeDemoTests/Pods-MTHawkeyeDemo-MTHawkeyeDemoTests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", + "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", + "${BUILT_PRODUCTS_DIR}/FBRetainCycleDetector/FBRetainCycleDetector.framework", + "${BUILT_PRODUCTS_DIR}/FLEX/FLEX.framework", + "${BUILT_PRODUCTS_DIR}/MTAppenderFile/MTAppenderFile.framework", + "${BUILT_PRODUCTS_DIR}/MTGLDebug/MTGLDebug.framework", + "${BUILT_PRODUCTS_DIR}/MTHawkeye/MTHawkeye.framework", + "${BUILT_PRODUCTS_DIR}/fishhook/fishhook.framework", + "${BUILT_PRODUCTS_DIR}/GYHttpMock/GYHttpMock.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBRetainCycleDetector.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FLEX.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTAppenderFile.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTGLDebug.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTHawkeye.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/fishhook.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GYHttpMock.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MTHawkeyeDemo-MTHawkeyeDemoTests/Pods-MTHawkeyeDemo-MTHawkeyeDemoTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/xcshareddata/xcschemes/MTHawkeyeDemo.xcscheme b/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/xcshareddata/xcschemes/MTHawkeyeDemo.xcscheme index 54d7d6f..9f210db 100644 --- a/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/xcshareddata/xcschemes/MTHawkeyeDemo.xcscheme +++ b/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/xcshareddata/xcschemes/MTHawkeyeDemo.xcscheme @@ -26,8 +26,17 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - codeCoverageEnabled = "YES" - shouldUseLaunchSchemeArgsEnv = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES" + codeCoverageEnabled = "YES"> + + + + @@ -40,17 +49,6 @@ - - - - - - - - 0.2) - - MTHawkeye/Core (0.12.2): + - MTHawkeye/Core (0.12.3): - MTHawkeye/Utils - - MTHawkeye/DefaultPlugins (0.12.2): + - MTHawkeye/DefaultPlugins (0.12.3): - CocoaLumberjack - MTHawkeye/DefaultPluginsWithoutLog - - MTHawkeye/DefaultPluginsWithoutLog (0.12.2): + - MTHawkeye/DefaultPluginsWithoutLog (0.12.3): - MTHawkeye/DefaultPluginsWithoutLogAndGL - MTHawkeye/GraphicsPlugins - - MTHawkeye/DefaultPluginsWithoutLogAndGL (0.12.2): + - MTHawkeye/DefaultPluginsWithoutLogAndGL (0.12.3): - MTHawkeye/Core - MTHawkeye/EnergyPlugins - MTHawkeye/FLEXExtension @@ -50,185 +50,185 @@ PODS: - MTHawkeye/StorageMonitorPlugins - MTHawkeye/TimeConsumingPlugins - MTHawkeye/UISkeleton - - MTHawkeye/EnergyPlugins (0.12.2): - - MTHawkeye/EnergyPlugins/BackgroundTaskTrace (= 0.12.2) - - MTHawkeye/EnergyPlugins/CPUTrace (= 0.12.2) - - MTHawkeye/EnergyPlugins/BackgroundTaskTrace (0.12.2): - - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/Core (= 0.12.2) - - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeCore (= 0.12.2) - - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeUI (= 0.12.2) - - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/Core (0.12.2): + - MTHawkeye/EnergyPlugins (0.12.3): + - MTHawkeye/EnergyPlugins/BackgroundTaskTrace (= 0.12.3) + - MTHawkeye/EnergyPlugins/CPUTrace (= 0.12.3) + - MTHawkeye/EnergyPlugins/BackgroundTaskTrace (0.12.3): + - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/Core (= 0.12.3) + - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeCore (= 0.12.3) + - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeUI (= 0.12.3) + - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/Core (0.12.3): - MTHawkeye/Utils - - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeCore (0.12.2): + - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/Core - MTHawkeye/StackBacktrace - - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeUI (0.12.2): + - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeUI (0.12.3): - MTHawkeye/Core - MTHawkeye/EnergyPlugins/BackgroundTaskTrace/HawkeyeCore - MTHawkeye/UISkeleton - - MTHawkeye/EnergyPlugins/CPUTrace (0.12.2): - - MTHawkeye/EnergyPlugins/CPUTrace/Core (= 0.12.2) - - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeCore (= 0.12.2) - - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeUI (= 0.12.2) - - MTHawkeye/EnergyPlugins/CPUTrace/Core (0.12.2): + - MTHawkeye/EnergyPlugins/CPUTrace (0.12.3): + - MTHawkeye/EnergyPlugins/CPUTrace/Core (= 0.12.3) + - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeCore (= 0.12.3) + - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeUI (= 0.12.3) + - MTHawkeye/EnergyPlugins/CPUTrace/Core (0.12.3): - MTHawkeye/Core - MTHawkeye/StackBacktrace - - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeCore (0.12.2): + - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/EnergyPlugins/CPUTrace/Core - - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeUI (0.12.2): + - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeUI (0.12.3): - MTHawkeye/Core - MTHawkeye/EnergyPlugins/CPUTrace/HawkeyeCore - MTHawkeye/UISkeleton - - MTHawkeye/FLEXExtension (0.12.2): + - MTHawkeye/FLEXExtension (0.12.3): - FLEX (= 4.1.1) - MTHawkeye/UISkeleton - - MTHawkeye/GraphicsPlugins (0.12.2): - - MTHawkeye/GraphicsPlugins/OpenGLTrace (= 0.12.2) - - MTHawkeye/GraphicsPlugins/OpenGLTrace (0.12.2): + - MTHawkeye/GraphicsPlugins (0.12.3): + - MTHawkeye/GraphicsPlugins/OpenGLTrace (= 0.12.3) + - MTHawkeye/GraphicsPlugins/OpenGLTrace (0.12.3): - MTGLDebug - MTHawkeye/UISkeleton - - MTHawkeye/MemoryPlugins (0.12.2): - - MTHawkeye/MemoryPlugins/Allocations (= 0.12.2) - - MTHawkeye/MemoryPlugins/LivingObjectSniffer (= 0.12.2) - - MTHawkeye/MemoryPlugins/Allocations (0.12.2): - - MTHawkeye/MemoryPlugins/Allocations/Core (= 0.12.2) - - MTHawkeye/MemoryPlugins/Allocations/HawkeyeCore (= 0.12.2) - - MTHawkeye/MemoryPlugins/Allocations/HawkeyeUI (= 0.12.2) - - MTHawkeye/MemoryPlugins/Allocations/Core (0.12.2): - - MTHawkeye/MemoryPlugins/Allocations/Core/no-arc (= 0.12.2) + - MTHawkeye/MemoryPlugins (0.12.3): + - MTHawkeye/MemoryPlugins/Allocations (= 0.12.3) + - MTHawkeye/MemoryPlugins/LivingObjectSniffer (= 0.12.3) + - MTHawkeye/MemoryPlugins/Allocations (0.12.3): + - MTHawkeye/MemoryPlugins/Allocations/Core (= 0.12.3) + - MTHawkeye/MemoryPlugins/Allocations/HawkeyeCore (= 0.12.3) + - MTHawkeye/MemoryPlugins/Allocations/HawkeyeUI (= 0.12.3) + - MTHawkeye/MemoryPlugins/Allocations/Core (0.12.3): + - MTHawkeye/MemoryPlugins/Allocations/Core/no-arc (= 0.12.3) - MTHawkeye/StackBacktrace - MTHawkeye/Utils - - MTHawkeye/MemoryPlugins/Allocations/Core/no-arc (0.12.2): + - MTHawkeye/MemoryPlugins/Allocations/Core/no-arc (0.12.3): - MTHawkeye/StackBacktrace - MTHawkeye/Utils - - MTHawkeye/MemoryPlugins/Allocations/HawkeyeCore (0.12.2): + - MTHawkeye/MemoryPlugins/Allocations/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/MemoryPlugins/Allocations/Core - - MTHawkeye/MemoryPlugins/Allocations/HawkeyeUI (0.12.2): + - MTHawkeye/MemoryPlugins/Allocations/HawkeyeUI (0.12.3): - MTHawkeye/MemoryPlugins/Allocations/Core - MTHawkeye/MemoryPlugins/Allocations/HawkeyeCore - MTHawkeye/UISkeleton - - MTHawkeye/MemoryPlugins/LivingObjectSniffer (0.12.2): - - MTHawkeye/MemoryPlugins/LivingObjectSniffer/Core (= 0.12.2) - - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeCore (= 0.12.2) - - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeUI (= 0.12.2) - - MTHawkeye/MemoryPlugins/LivingObjectSniffer/Core (0.12.2): + - MTHawkeye/MemoryPlugins/LivingObjectSniffer (0.12.3): + - MTHawkeye/MemoryPlugins/LivingObjectSniffer/Core (= 0.12.3) + - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeCore (= 0.12.3) + - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeUI (= 0.12.3) + - MTHawkeye/MemoryPlugins/LivingObjectSniffer/Core (0.12.3): - MTHawkeye/Utils - - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeCore (0.12.2): + - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/MemoryPlugins/LivingObjectSniffer/Core - - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeUI (0.12.2): + - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeUI (0.12.3): - FBRetainCycleDetector - MTHawkeye/MemoryPlugins/LivingObjectSniffer/HawkeyeCore - MTHawkeye/UISkeleton - - MTHawkeye/NetworkPlugins (0.12.2): - - MTHawkeye/NetworkPlugins/HawkeyeUI (= 0.12.2) - - MTHawkeye/NetworkPlugins/Inspect (= 0.12.2) - - MTHawkeye/NetworkPlugins/Monitor (= 0.12.2) - - MTHawkeye/NetworkPlugins/HawkeyeUI (0.12.2): - - FLEX + - MTHawkeye/NetworkPlugins (0.12.3): + - MTHawkeye/NetworkPlugins/HawkeyeUI (= 0.12.3) + - MTHawkeye/NetworkPlugins/Inspect (= 0.12.3) + - MTHawkeye/NetworkPlugins/Monitor (= 0.12.3) + - MTHawkeye/NetworkPlugins/HawkeyeUI (0.12.3): + - FLEX (= 4.1.1) - MTHawkeye/NetworkPlugins/Inspect - MTHawkeye/NetworkPlugins/Monitor - MTHawkeye/UISkeleton - - MTHawkeye/NetworkPlugins/Inspect (0.12.2): - - MTHawkeye/NetworkPlugins/Inspect/Core (= 0.12.2) - - MTHawkeye/NetworkPlugins/Inspect/HawkeyeCore (= 0.12.2) - - MTHawkeye/NetworkPlugins/Inspect/Core (0.12.2): + - MTHawkeye/NetworkPlugins/Inspect (0.12.3): + - MTHawkeye/NetworkPlugins/Inspect/Core (= 0.12.3) + - MTHawkeye/NetworkPlugins/Inspect/HawkeyeCore (= 0.12.3) + - MTHawkeye/NetworkPlugins/Inspect/Core (0.12.3): - MTHawkeye/Core - MTHawkeye/NetworkPlugins/Monitor - - MTHawkeye/NetworkPlugins/Inspect/HawkeyeCore (0.12.2): + - MTHawkeye/NetworkPlugins/Inspect/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/NetworkPlugins/Inspect/Core - - MTHawkeye/NetworkPlugins/Monitor (0.12.2): - - MTHawkeye/NetworkPlugins/Monitor/Core (= 0.12.2) - - MTHawkeye/NetworkPlugins/Monitor/HawkeyeCore (= 0.12.2) - - MTHawkeye/NetworkPlugins/Monitor/Core (0.12.2): + - MTHawkeye/NetworkPlugins/Monitor (0.12.3): + - MTHawkeye/NetworkPlugins/Monitor/Core (= 0.12.3) + - MTHawkeye/NetworkPlugins/Monitor/HawkeyeCore (= 0.12.3) + - MTHawkeye/NetworkPlugins/Monitor/Core (0.12.3): - MTHawkeye/Core - - MTHawkeye/NetworkPlugins/Monitor/HawkeyeCore (0.12.2): + - MTHawkeye/NetworkPlugins/Monitor/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/NetworkPlugins/Monitor/Core - - MTHawkeye/StackBacktrace (0.12.2): + - MTHawkeye/StackBacktrace (0.12.3): - MTHawkeye/Utils - - MTHawkeye/StorageMonitorPlugins (0.12.2): - - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher (= 0.12.2) - - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher (0.12.2): - - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/Core (= 0.12.2) - - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeCore (= 0.12.2) - - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeUI (= 0.12.2) - - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/Core (0.12.2): + - MTHawkeye/StorageMonitorPlugins (0.12.3): + - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher (= 0.12.3) + - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher (0.12.3): + - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/Core (= 0.12.3) + - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeCore (= 0.12.3) + - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeUI (= 0.12.3) + - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/Core (0.12.3): - MTHawkeye/Utils - - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeCore (0.12.2): + - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/Core - - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeUI (0.12.2): + - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeUI (0.12.3): - MTHawkeye/FLEXExtension - MTHawkeye/StorageMonitorPlugins/DirectoryWatcher/HawkeyeCore - MTHawkeye/UISkeleton - - MTHawkeye/TimeConsumingPlugins (0.12.2): - - MTHawkeye/TimeConsumingPlugins/ANRTrace (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/FPSTrace (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/UITimeProfiler (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/ANRTrace (0.12.2): - - MTHawkeye/TimeConsumingPlugins/ANRTrace/Core (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeCore (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeUI (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/ANRTrace/Core (0.12.2): + - MTHawkeye/TimeConsumingPlugins (0.12.3): + - MTHawkeye/TimeConsumingPlugins/ANRTrace (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/FPSTrace (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/UITimeProfiler (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/ANRTrace (0.12.3): + - MTHawkeye/TimeConsumingPlugins/ANRTrace/Core (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeCore (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeUI (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/ANRTrace/Core (0.12.3): - MTHawkeye/Core - MTHawkeye/StackBacktrace - MTHawkeye/Utils - - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeCore (0.12.2): + - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/TimeConsumingPlugins/ANRTrace/Core - - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeUI (0.12.2): + - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeUI (0.12.3): - MTHawkeye/Core - MTHawkeye/TimeConsumingPlugins/ANRTrace/HawkeyeCore - MTHawkeye/UISkeleton - - MTHawkeye/TimeConsumingPlugins/FPSTrace (0.12.2): - - MTHawkeye/TimeConsumingPlugins/FPSTrace/Core (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeCore (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeUI (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/FPSTrace/Core (0.12.2): + - MTHawkeye/TimeConsumingPlugins/FPSTrace (0.12.3): + - MTHawkeye/TimeConsumingPlugins/FPSTrace/Core (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeCore (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeUI (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/FPSTrace/Core (0.12.3): - MTHawkeye/Core - - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeCore (0.12.2): + - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/TimeConsumingPlugins/FPSTrace/Core - - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeUI (0.12.2): + - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeUI (0.12.3): - MTHawkeye/Core - MTHawkeye/TimeConsumingPlugins/FPSTrace/Core - MTHawkeye/TimeConsumingPlugins/FPSTrace/HawkeyeCore - MTHawkeye/UISkeleton - - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace (0.12.2): - - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/Core (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/HawkeyeCore (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/Core (0.12.2): + - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace (0.12.3): + - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/Core (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/HawkeyeCore (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/Core (0.12.3): - fishhook (~> 0.2) - MTHawkeye/Utils - - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/HawkeyeCore (0.12.2): + - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace/Core - - MTHawkeye/TimeConsumingPlugins/UITimeProfiler (0.12.2): - - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/Core (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeCore (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeUI (= 0.12.2) - - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/Core (0.12.2): + - MTHawkeye/TimeConsumingPlugins/UITimeProfiler (0.12.3): + - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/Core (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeCore (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeUI (= 0.12.3) + - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/Core (0.12.3): - MTHawkeye/Core - - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeCore (0.12.2): + - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeCore (0.12.3): - MTHawkeye/Core - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/Core - - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeUI (0.12.2): + - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeUI (0.12.3): - MTHawkeye/Core - MTHawkeye/TimeConsumingPlugins/ObjcCallTrace - MTHawkeye/TimeConsumingPlugins/UITimeProfiler/HawkeyeCore - MTHawkeye/UISkeleton - - MTHawkeye/UISkeleton (0.12.2): + - MTHawkeye/UISkeleton (0.12.3): - MTHawkeye/Core - - MTHawkeye/Utils (0.12.2): + - MTHawkeye/Utils (0.12.3): - MTAppenderFile - - MTHawkeye/Utils/cpp (= 0.12.2) - - MTHawkeye/Utils/cpp (0.12.2): + - MTHawkeye/Utils/cpp (= 0.12.3) + - MTHawkeye/Utils/cpp (0.12.3): - MTAppenderFile DEPENDENCIES: @@ -269,8 +269,8 @@ SPEC CHECKSUMS: GYHttpMock: ad08e55ce8bde4e7f7b4d0cbc79ff23c1311658b MTAppenderFile: c7db8f33a8140ee2275a6200305fd11e609fae33 MTGLDebug: 4883ba4da36f45a88e2c2d805d2b5a5b54ba5ad1 - MTHawkeye: ef13a3db0ac145faf4890ee3f4337629ff0e7934 + MTHawkeye: 3a6e2e6618ff3c78f7709156bad5fa68a124a099 -PODFILE CHECKSUM: a042331aa2214707a236779026b6734d92da8829 +PODFILE CHECKSUM: 996e011f38334f4027f5b3a90919d33fc05c4472 COCOAPODS: 1.9.3 diff --git a/MTHawkeyeDemo/podfile b/MTHawkeyeDemo/podfile index 8603d05..9d978b1 100644 --- a/MTHawkeyeDemo/podfile +++ b/MTHawkeyeDemo/podfile @@ -2,9 +2,7 @@ source 'https://cdn.cocoapods.org/' platform :ios, "9.0" -#inhibit_all_warnings! -#use_frameworks! -install! 'cocoapods',:generate_multiple_pod_projects => true +use_frameworks! workspace 'MTHawkeye'