我的一些设备在更新到新的iOS版本后停止接收推送通知。所以,我的问题是,设备令牌在iOS OS更新到新版本后会改变吗?我也需要更新服务器上的设备令牌。
Apple文档说我们应该在每次应用程序启动时生成设备令牌。
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {}
这个方法每次在应用程序启动时被调用,这里你需要发送设备令牌到服务器。所以令牌是否改变并不重要。苹果推送通知服务器将意识到新的令牌,应该发送通知到正确的设备。
你不应该使用设备令牌作为某种设备标识。
原文如下:
重要:永远不要在本地存储中缓存设备令牌。当用户从备份中恢复设备时,当用户在新设备上安装应用程序时,以及当用户重新安装操作系统时,apn会发出一个新的令牌。如果您每次都要求系统提供令牌,则可以保证获得最新的令牌。