我打算在我的应用中使用Apple APNS服务。我浏览了文档,发现我需要从应用程序中调用registerForRemoteNotifications()
,以便应用程序通过appdelegate方法发送设备令牌。
根据我的理解,苹果在某些情况下更改设备令牌,如操作系统更新,恢复备份等。
我在这里没有什么困惑 - 如果我们只召唤一次registerForRemoteNotifications()
,那可以吗?或者我是否需要在每次推出应用程序后调用它?
如果我拨打一次并且从不从应用中拨打unregisterForRemoteNotifications()
,即使苹果更新设备令牌,应用也会始终接收推送吗?
答案 0 :(得分:0)
您应该考虑直接从您的委托方法调用每个应用启动中的registerForRemoteNotifications
:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
像这样:
if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]) {
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
像这样,您将始终拥有最新的推送令牌。
有关此主题的信息,请参阅Apple Documentation。