From 25d1a02466c966aca721ecac2494653539f3ccac Mon Sep 17 00:00:00 2001 From: Petter <897710242@qq.com> Date: Wed, 26 Nov 2025 22:51:21 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9C=89=E6=96=B9=E6=B3=95=E7=AD=BE?= =?UTF-8?q?=E5=90=8D=E6=97=B6=E7=9B=B4=E6=8E=A5=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AvoidCrash/NSObject+AvoidCrash.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AvoidCrash/NSObject+AvoidCrash.m b/AvoidCrash/NSObject+AvoidCrash.m index b6542ec..2bee493 100644 --- a/AvoidCrash/NSObject+AvoidCrash.m +++ b/AvoidCrash/NSObject+AvoidCrash.m @@ -103,6 +103,8 @@ - (NSMethodSignature *)avoidCrashMethodSignatureForSelector:(SEL)aSelector { NSMethodSignature *ms = [self avoidCrashMethodSignatureForSelector:aSelector]; + if (ms) return ms; + BOOL flag = NO; if (ms == nil) { for (NSString *classStr in noneSelClassStrings) { From 503e86111aa4d8ded6be0a2ebeddd3845dc0678a Mon Sep 17 00:00:00 2001 From: Petter <897710242@qq.com> Date: Wed, 26 Nov 2025 22:54:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E5=89=8Dreturn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AvoidCrash/NSObject+AvoidCrash.m | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/AvoidCrash/NSObject+AvoidCrash.m b/AvoidCrash/NSObject+AvoidCrash.m index 2bee493..b6715b0 100644 --- a/AvoidCrash/NSObject+AvoidCrash.m +++ b/AvoidCrash/NSObject+AvoidCrash.m @@ -104,26 +104,21 @@ - (NSMethodSignature *)avoidCrashMethodSignatureForSelector:(SEL)aSelector { NSMethodSignature *ms = [self avoidCrashMethodSignatureForSelector:aSelector]; if (ms) return ms; - - BOOL flag = NO; - if (ms == nil) { - for (NSString *classStr in noneSelClassStrings) { - if ([self isKindOfClass:NSClassFromString(classStr)]) { - ms = [AvoidCrashStubProxy instanceMethodSignatureForSelector:@selector(proxyMethod)]; - flag = YES; - break; - } + + for (NSString *classStr in noneSelClassStrings) { + if ([self isKindOfClass:NSClassFromString(classStr)]) { + return [AvoidCrashStubProxy instanceMethodSignatureForSelector:@selector(proxyMethod)]; } } - if (flag == NO) { - NSString *selfClass = NSStringFromClass([self class]); - for (NSString *classStrPrefix in noneSelClassStringPrefixs) { - if ([selfClass hasPrefix:classStrPrefix]) { - ms = [AvoidCrashStubProxy instanceMethodSignatureForSelector:@selector(proxyMethod)]; - } + + NSString *selfClass = NSStringFromClass([self class]); + for (NSString *classStrPrefix in noneSelClassStringPrefixs) { + if ([selfClass hasPrefix:classStrPrefix]) { + return [AvoidCrashStubProxy instanceMethodSignatureForSelector:@selector(proxyMethod)]; } } - return ms; + + return nil; } - (void)avoidCrashForwardInvocation:(NSInvocation *)anInvocation {