我正在为 iOS 构建推送通知的静态库。在没有访问 AppDelegate
的情况下如何知道何时收到推送通知?换句话说,我不希望用户调用某些库委托(delegate)以便在收到推送通知时告诉 lib。 AppDelegate
有这个方法 didRegisterForRemoteNotificationsWithDeviceToken
,如果我能在调用该方法时收到通知就完美了。我认为 NSNotificationCenter
必须是解决方案,但是没有可以通过将观察者添加到 NSNotificaitonCenter
来接收这样的通知,该通知将在收到推送通知时触发。还是我错了?
但是,有一种解决方案,而不是我必须承认的最干净的解决方案,可以接收用户设置的 AppDelegate
,将其保存到属性并创建新的 AppDelegate
这会将所有内容路由到之前设置的 AppDelegate
。 (在 dealloc
上,应该更新属性)但是,这意味着只有一个库可以做到这一点,所以我认为这不是做到这一点的方法。这是它的代码:
{
....
self.applicationDelegate = [UIApplication sharedApplication].delegate;
[UIApplication sharedApplication].delegate = self;
}
- (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptionsNSDictionary *)launchOptions {
return [self.applicationDelegate application:application didFinishLaunchingWithOptions:launchOptions];
}
我认为你需要在你的库 UIResponder
中实现子类,在其中实现 didRegisterForRemoteNotificationsWithDeviceToken
。
并让您的图书馆的用户继承您的 appdelegate 类。
关于ios - 在没有 AppDelegate 的情况下在 iOS 中收到推送通知时如何获取通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25624604/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |