据我所知,一旦我们从 APNS 获得了设备令牌,我们就无法再次获得它。(除非将数据备份到新设备或计算机,或重新安装操作系统或任何时候设备令牌发生更改,这将调用didRegisterForRemoteNotificationsWithDeviceToken
)
所以,
每当设备令牌更改时,我都会替换新设备令牌并将其保存在钥匙串中,以避免它因其他目的而消失(例如将设备令牌用于 UUID)。
钥匙串数据消失但设备令牌没有改变时是否有可能?
(如果是。会导致
didRegisterForRemoteNotificationsWithDeviceToken
没有再次调用,并且无法检索最后一个设备令牌。)或者让钥匙串数据消失的事件也(通常)让设备令牌改变(或
didRegisterForRemoteNotificationsWithDeviceToken
再次触发)?在我的测试中,
A. iPhone中的“重置所有设置”不会清除钥匙串数据并触发
didRegisterForRemoteNotificationsWithDeviceToken
。B. iPhone 中的“删除所有内容和设置”将清除钥匙串数据并删除所有应用程序。因此,当重新安装将
didRegisterForRemoteNotificationsWithDeviceToken
再次调用的应用程序时。案例 A 和 B 不会打扰我,我认为更新操作系统版本、重新安装操作系统或任何事件也会让设备令牌发生变化。
有人知道钥匙串和设备令牌之间正确对应的价值变化状态吗?
谢谢!!
更新
问题是任何事件都会让钥匙串数据消失(通常)再次触发“didRegisterForRemoteNotificationsWithDeviceToken”?
如果不是,是哪个事件?