什么原因导致APNS令牌改变?

时间:2015-05-11 16:04:22

标签: ios apple-push-notifications token

沙盒与生产的令牌生存期之间是否存在差异?

我目前无法使用沙盒环境,并且想知道导致我的令牌过期/重置的原因。

我没有卸载应用程序,也没有在明显的令牌过期之间更新iOS版本。

我强制关闭并将应用程序作为开发/测试的一部分。

我也使用VoIP证书,我相信它对生产和沙箱都有效。

在iOS设备上运行的应用程序是直接从Xcode构建和推送的。

似乎正在发生的事情是,当应用程序不再在接收设备上运行时以及何时应该接收推送通知时,令牌会被更改。在此之前,应用程序没有机会运行以更新令牌。

1 个答案:

答案 0 :(得分:3)

没有完整记录APNS令牌无效的内容,文档确实提到:

  

如果用户将备份数据还原到新设备或计算机,或重新安装操作系统,则设备令牌会更改。

但是,我想这些并不是导致令牌过期的唯一场景。记录 的事实是,您不应该缓存令牌,而是始终将其从系统中拉出来,如果&需要时。

请参阅Registering for Remote Notifications,具体来说:

  

此外,永远不要缓存设备令牌并将其提供给您的提供商;始终在需要时从系统获取令牌。如果您的应用程序先前已注册,则调用registerForRemoteNotifications会导致操作系统立即将设备令牌传递给代理,而不会产生额外的开销。另请注意,可以在设备令牌更改时调用委托方法,而不仅仅是响应您的应用注册或重新注册。