应用程序更新后推送通知令牌是否更改?

时间:2017-01-25 15:33:23

标签: ios objective-c apple-push-notifications

我问的是两种情况:

1)我们从App Store进行定期更新

2)在我们模拟更新后,通过从商店下载当前版本并安装&从Xcode中运行新版本,

是否会推送通知令牌更改?如果改变,例如多久。每次,还是不时?

我问这个,因为我正在进行一些测试,我希望在更新后保留Documents文件夹。因此,通过从商店下载应用程序,并从Xcode中运行新版本,可以轻松完成上述操作。但是,我注意到推送通知已停止工作。然后我重复了几次(卸载应用程序,从商店安装,然后从Xcode运行升级版本)和每次推送通知都有效。

我想知道这是否是由于推送通知令牌更改造成的?

2 个答案:

答案 0 :(得分:3)

请参阅Apple Docs:

  

永远不要缓存设备令牌;总是从你的系统中获取它们   需要它们。虽然设备令牌是应用和设备所独有的,但   他们可以随时间变化。设备令牌可以随时更改,但是   当用户从中恢复设备时,保证不同   当用户在新设备上安装您的应用时,以及何时备份   用户重新安装操作系统。从中获取令牌   系统确保您始终拥有所需的当前令牌   与APN沟通。另外,如果令牌没有改变,   获取它很快,不会产生任何重大开销。

因此,根据Apple文档,至少有3个地方可以更改:

  • 从备份还原
  • 在新设备上安装
  • 重新安装操作系统
  • 注意:如果其他用户登录到您的应用,则应更改令牌。即使原始用户重新登录,他们的令牌也会不同

因此,典型的更新不会改变它们。我永远不会记得自己不得不同意在更新后收到......

答案 1 :(得分:2)

据我所知,

1)从App Store定期更新 - APNS令牌不会更改。

2)这有点棘手。我相信令牌的变化。首先,我想告诉您appstore版本使用APNS生产证书,而使用xcode的构建版本使用开发版本。它会生成不同的令牌。如果你仍然向apple push生产服务器发送推送通知,你就不会在你的xcode版本上获得它们。您需要将它们发送到apple push沙箱服务器。