隨着對推送通知蘋果的官方信息頁指出: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