eleme / Stinger

Stinger is a high-efficiency library with great compatibility, for aop in Objective-C, using libffi instead of Objective-C message forwarding. It is 20+ times faster than the Aspects, from message-sending to Aspect-oriented code ends.
MIT License
996 stars 127 forks source link

why hook systemFontOfSize cause app crash? #22

Open Dast1Woop opened 1 year ago

Dast1Woop commented 1 year ago

when I put the following code in category or homeViewController, the app will crash: [UIFont st_hookClassMethod:@selector(systemFontOfSize:) option:(STOptionInstead) usingIdentifier:(@"myHook_fontWithSize") withBlock:^UIFont (id params, CGFloat oldPara){ UIFont oldRet; [params invokeAndGetOriginalRetValue:&oldRet]; CGFloat newSize = oldRet.pointSize * 2; return [UIFont fontWithName:oldRet.familyName size:newSize]; }];

the crash info is: 2023-06-28 18:00:33.468715+0800 ChangeFontSizeTest[1784:376274] [Assert] UINavigationBar decoded as unlocked for UINavigationController, or navigationBar delegate set up incorrectly. Inconsistent configuration may cause problems. navigationController=<UINavigationController: 0x15c01c200>, navigationBar=<UINavigationBar: 0x15bd09d50; frame = (0 59; 0 50); opaque = NO; autoresize = W; layer = <CALayer: 0x2833c74c0>> delegate=0x15c01c200

pls help!

Dast1Woop commented 1 year ago

when I put the the above code in the example project of this repo, it will crash too!!! please test and help!