OStack程序员社区-中国程序员成长平台

标题: ios - 在没有 AppDelegate 的情况下在 iOS 中收到推送通知时如何获取通知? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:29
标题: ios - 在没有 AppDelegate 的情况下在 iOS 中收到推送通知时如何获取通知?

我正在为 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];
}



Best Answer-推荐答案


我认为你需要在你的库 UIResponder 中实现子类,在其中实现 didRegisterForRemoteNotificationsWithDeviceToken。 并让您的图书馆的用户继承您的 appdelegate 类。

关于ios - 在没有 AppDelegate 的情况下在 iOS 中收到推送通知时如何获取通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25624604/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4