didInvalidatePushTokenForType的文档说明它是可选的实现方式,并且也说明了
如果先前提供的推送令牌为否,则调用此方法 更长的使用时间。无需采取任何行动来申请注册。 此反馈可用于更新应用程序的服务器以便不再发送 将指定类型的通知推送到此设备。
为什么有人不想实现这个呢?如果令牌不再有效,那么服务器将永远无法再次向该设备发送Voip推送,因此手机上的应用程序如果无效则想要尽快知道,以便它可以发送新令牌到服务器?
我一直在尝试搜索信息并使用didInvalidatePushTokenForType(),但似乎每个人都只是复制并将此方法粘贴到他们的源代码中,因为其他人都复制并粘贴它。但似乎没有人对它做任何事情。 但似乎它应该是一个非常重要的方法来利用,所以为什么没有人显然呢? 令牌什么时候变得无效?
答案 0 :(得分:1)
感谢您提出质疑。
1)令牌什么时候无效?
如果我们是从App Store更新应用程序,则APNS令牌不会更改。
重新安装操作系统或更新操作系统或重置iOS设备,然后APNS令牌确实更改(升级或降级操作系统)。
设备令牌在2年后失效或过期。
如果我重新安装应用程序,iOS9及更高版本的设备令牌会发生变化。(根据我的经验和知识)。
从App Store下载应用程序,然后使用X-Code运行您的代码,在这种情况下,设备令牌将会更改。
2)didInvalidatePushTokenForType()
的重要性或为什么? didInvalidatePushTokenForType()
是可选的
让我们澄清一下didInvalidatePushTokenForType()
方法。
一旦令牌被更改,然后调用didInvalidatePushTokenForType()
和didUpdatePushCredentials()
方法,所以所有代码都放在didUpdatePushCredentials()
而不是didInvalidatePushTokenForType()
。
这就是为什么开发人员对didUpdatePushCredentials()
方法不重要的原因。
从Here
查找参考