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.
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
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!