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

我问两种情况:

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

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

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

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

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

我所知道的,

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

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

请参阅Apple Docs:

永远不要缓存设备令牌; 总是在需要时从系统中获取它们。 虽然设备令牌对于应用和设备而言是唯一的,但它们可能会随着时间而变化 。 设备令牌可以随时更改,但当用户从备份恢复设备,用户在新设备上安装应用程序以及用户重新安装操作系统时,设备令牌可以保证不同。 从系统中获取令牌可确保您始终拥有与APN通信所需的当前令牌。 此外,如果令牌没有改变,则获取它很快并且不会产生任何显着的开销。

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

  • 从备份还原
  • 安装在新设备上
  • 重新安装操作系统

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