I want to Hook delegate(protocol) method in iOS, who can tell me how to do it?
such as hook method applicationDidFinishLaunching:
I do it like this, but it is not work...
extern IMP original_UIApplication_applicationDidFinishLaunching;
extern void replaced_UIApplication_applicationDidFinishLaunching(UIApplication<UIApplicationDelegate> * self, SEL cmd, UIApplication* application);
MSHookMessageEx(objc_getMetaClass("UIApplication"),
@selector(applicationDidFinishLaunching:),
(IMP)replaced_UIApplication_applicationDidFinishLaunching,
(IMP *)&original_UIApplication_applicationDidFinishLaunching);