我在Swift中有一个需要推送通知权限委托回调的权限框架。推送通知回调驻留在App Delegate中,因此我的框架无法访问每个应用程序的代理。我以为我可以使用方法调配来拦截方法(即didRegisterForRemoteNotificationsWithDeviceToken
)。
为了测试,我有:
let method1 = class_getInstanceMethod(UIApplication.shared.delegate as! AnyClass!, Selector.init(stringLiteral: "applicationWillEnterForeground:"))
let method2 = class_getInstanceMethod(self.classForCoder, Selector.init(stringLiteral: "testerFunc"))
if let method1 = method1, let method2 = method2 {
method_exchangeImplementations(method1, method2)
}
有什么想法吗?