Does anyone have already try to replace app delegate applicationDidFinishLaunching ?
I use the code below unsuccessfully. class_replaceMethod returns false. Delegate like applicationDidBecomeActive or
applicationWillResignActive work fine.
Thanks for your lights
// Extract from ImprovediOSApplication class
Declare Function object_getClass Lib "/usr/lib/libobjc.A.dylib"(cls As Ptr) As Ptr
Declare Function NSSelectorFromString Lib "Foundation"(aSelectorName As CFStringRef) As Ptr
Declare Function class_replaceMethod Lib "/usr/lib/libobjc.A.dylib"(cls As Ptr, name As Ptr, imp As Ptr, types As CString) As Boolean
Declare Function class_addMethod Lib "/usr/lib/libobjc.A.dylib"(cls As Ptr, name As Ptr, imp As Ptr, types As CString) As Boolean
Declare Function sharedApplication Lib "UIKit" selector "sharedApplication"(clsRef As Ptr) As Ptr
Declare Function NSClassFromString Lib "Foundation"(clsName As CFStringRef) As Ptr
Declare Function getDelegate Lib "UIKit" selector "delegate"(obj_id As Ptr) As Ptr
Dim appDel As Ptr = getDelegate(sharedApplication(NSClassFromString("UIApplication")))
Dim appDelegateClass As Ptr = object_getClass(appDel)
If Not class_replaceMethod(appDelegateClass, NSSelectorFromString("applicationDidFinishLaunching:"), AddressOf impl_didFinishLaunching, "v@:@") Then
Break
End