提交 f29c64a0 编写于 作者: Y yixiangboy

解决VCProfiler在某一些情况下会死锁crash的问题 iss416,先加一个黑名单规避掉

上级 d59536f4
......@@ -152,5 +152,7 @@ typedef NS_ENUM(NSUInteger, DoraemonManagerPluginType) {
@property (nonatomic, copy) NSString *startClass; //如果你的启动代理不是默认的AppDelegate,需要传入才能获取正确的启动时间
@property (nonatomic, copy) NSArray *vcProfilerBlackList;//使用vcProfiler的使用,兼容一些异常情况,比如issue416
@end
NS_ASSUME_NONNULL_END
......@@ -11,6 +11,7 @@
#import <objc/runtime.h>
#import "DoraemonHealthManager.h"
#import "DoraemonCacheManager.h"
#import "DoraemonManager.h"
//#define Doraemon_VC_Profiler_LOG_ENABLE
......@@ -158,7 +159,19 @@ static void doraemon_vc_profiler_viewDidDisappear(UIViewController *kvo_self, SE
return self;
}
// 黑名单用户不会触发KVO监控
- (BOOL)blackList:(NSString *)className{
NSArray *blackList=[DoraemonManager shareInstance].vcProfilerBlackList;
if (blackList && blackList.count>0 && [blackList containsObject:className]) {
return YES;
}
return NO;
}
- (void)createAndHookKVOClass {
if ([self blackList:NSStringFromClass(self.class)]) {
return;
}
[self addObserver:[DoraemonFakeKVOObserver shared] forKeyPath:kUniqueFakeKeyPath options:NSKeyValueObservingOptionNew context:nil];
DoraemonFakeKVORemover *remover = [[DoraemonFakeKVORemover alloc] init];
......
......@@ -23,16 +23,16 @@ PODS:
- CocoaLumberjack (3.6.1):
- CocoaLumberjack/Core (= 3.6.1)
- CocoaLumberjack/Core (3.6.1)
- DoraemonKit/Core (2.0.0)
- DoraemonKit/WithDatabase (2.0.0):
- DoraemonKit/Core (3.0.0)
- DoraemonKit/WithDatabase (3.0.0):
- DoraemonKit/Core
- YYDebugDatabase
- DoraemonKit/WithGPS (2.0.0):
- DoraemonKit/WithGPS (3.0.0):
- DoraemonKit/Core
- DoraemonKit/WithLogger (2.0.0):
- DoraemonKit/WithLogger (3.0.0):
- CocoaLumberjack
- DoraemonKit/Core
- DoraemonKit/WithMLeaksFinder (2.0.0):
- DoraemonKit/WithMLeaksFinder (3.0.0):
- DoraemonKit/Core
- FBRetainCycleDetector (0.1.4)
- FMDB (2.7.5):
......@@ -86,7 +86,7 @@ CHECKOUT OPTIONS:
SPEC CHECKSUMS:
AFNetworking: cb8d14a848e831097108418f5d49217339d4eb60
CocoaLumberjack: b17ae15142558d08bbacf69775fa10c4abbebcc9
DoraemonKit: b02a53c6bd229568b876a3e0d75e23a8bc29bf13
DoraemonKit: 4ad75a74374d836425e947f0f891157cacfdcf46
FBRetainCycleDetector: 46daef95c2dfa9be34b53087edf6a8f34e4c749c
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
GCDWebServer: c0ab22c73e1b84f358d1e2f74bf6afd1c60829f2
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册