diff --git a/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.m b/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.m index f9a351e..4cfeeb3 100644 --- a/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.m +++ b/MTHawkeye/TimeConsumingPlugins/FPSTrace/Core/MTHFPSTrace.m @@ -269,7 +269,13 @@ - (MTHFPSGLRenderCounter *)getDynamicAttachGLESCounter:(id)target { counter = [[MTHFPSGLRenderCounter alloc] init]; counter.identifier = [NSString stringWithFormat:@"%p", target]; } - [target setValue:counter forKey:propertyName]; + if ([target isKindOfClass:[UIView class]] && ![NSThread isMainThread]) { + dispatch_async(dispatch_get_main_queue(), ^{ + [target setValue:counter forKey:propertyName]; + }); + } else { + [target setValue:counter forKey:propertyName]; + } return counter; } @@ -288,7 +294,13 @@ - (MTHFPSGLRenderCounter *)getDynamicAttachGLESCounter:(id)target { counter = [[MTHFPSGLRenderCounter alloc] init]; counter.identifier = [NSString stringWithFormat:@"%p", target]; - [target setValue:counter forKey:propertyName]; + if ([target isKindOfClass:[UIView class]] && ![NSThread isMainThread]) { + dispatch_async(dispatch_get_main_queue(), ^{ + [target setValue:counter forKey:propertyName]; + }); + } else { + [target setValue:counter forKey:propertyName]; + } return counter; } diff --git a/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/xcshareddata/xcschemes/MTHawkeyeDemo.xcscheme b/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/xcshareddata/xcschemes/MTHawkeyeDemo.xcscheme index 9f210db..8ee11c2 100644 --- a/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/xcshareddata/xcschemes/MTHawkeyeDemo.xcscheme +++ b/MTHawkeyeDemo/MTHawkeyeDemo.xcodeproj/xcshareddata/xcschemes/MTHawkeyeDemo.xcscheme @@ -56,7 +56,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" enableASanStackUseAfterReturn = "YES" enableUBSanitizer = "YES" - disableMainThreadChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO"