如何在UIApplication中加載鉤子?在UIApplication(CaptainHook)中調整openURL
#import <CaptainHook/CaptainHook.h>
#import <SpringBoard/SpringBoard.h>
CHDeclareClass(SBAlertWindow);
CHOptimizedMethod(1, self, void, SBAlertWindow, displayAlert, id, alert) {
NSLog(@"load displayAlert!");
CHSuper(1, SBAlertWindow, displayAlert, alert);
}
CHDeclareClass(UIApplication)
CHOptimizedMethod(1, self, void, UIApplication, openURL, NSURL *, url) {
NSString *linkToOpen = [[NSURL alloc] initWithString:[url absoluteString]];
NSLog(@"dont load link: %@", linkToOpen);
CHSuper(1, UIApplication, openURL, url);
}
CHConstructor {
CHLoadLateClass(SBAlertWindow);
CHHook(1, SBAlertWindow, displayAlert);
CHLoadLateClass(UIApplication);
CHHook(1, UIApplication, openURL);
}
在我的SBAlertWindow測試中。 工作完美。 但在UIApplication的openURL不掛鉤。
需要makefile中的一些配置?