APNS注册及其生命周期

时间:2017-11-28 02:47:32

标签: ios swift apple-push-notifications

我打算在我的应用中使用Apple APNS服务。我浏览了文档,发现我需要从应用程序中调用registerForRemoteNotifications(),以便应用程序通过appdelegate方法发送设备令牌。

根据我的理解,苹果在某些情况下更改设备令牌,如操作系统更新,恢复备份等。

我在这里没有什么困惑 - 如果我们只召唤一次registerForRemoteNotifications(),那可以吗?或者我是否需要在每次推出应用程序后调用它?

如果我拨打一次并且从不从应用中拨打unregisterForRemoteNotifications(),即使苹果更新设备令牌,应用也会始终接收推送吗?

1 个答案:

答案 0 :(得分:0)

您应该考虑直接从您的委托方法调用每个应用启动中的registerForRemoteNotifications

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

像这样:

if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]) {
    [[UIApplication sharedApplication] registerForRemoteNotifications];
}

像这样,您将始终拥有最新的推送令牌

有关此主题的信息,请参阅Apple Documentation