随着对推送通知苹果的官方信息页指出:iOS 8远程通知 - 什么时候应该调用registerForRemoteNotifications()?
“设备令牌可以改变的,所以你的应用程序需要在每次启动时重新注册”
我试图了解它们每次启动时的含义。
这是否意味着我必须调用它的AppDelegate中,在didFinishLaunchingWithOptions()像这样:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
application.registerForRemoteNotifications()
return true
}
把这个代码在这里会导致它执行每次用户打开应用程序,这可能是很多次时间如果用户在应用程序之间进行多任务处理(在它们之间来回切换),则需要一分钟。
而且由于调用注册方法会向APNS调用HTTP请求,因此存在临时禁止的风险。
这些观察结果是否正确,或者我可以像没有任何恐惧一样将寄存器方法如此?
(我使用的Xcode 6.2 SWIFT)
是的,你应该用那种方法注册。即使用户在你的应用和另一个应用之间来回切换,你的应用仍然会保留在内存中,并且简单地进入暂停状态,而不是实际退出 – Paulw11 2015-04-05 11:54:55