1、devicetoken可以作为设备唯一标识符吗?在什么情况下,devicetoken会发生变化?
devicetoken不是固定值,会变化,所以不能作为设备唯一标识符。devicetoken在如下三种情况下发生变化:
1)、新的设备安装App
2)、旧的设备更新了操作系统(重启---待测试)
3)、卸载重装App(iOS7、iOS8上卸载重装,返回的deviceToken不会发生变化;iOS9.0以上的系统会)
2、最终的解决方案
获取设备的UUID(被苹果禁用的是UDID)来标示设备。当软件第一次安装时候,获取设备的UUID 存储到keychain中,那么只要你不刷机,那么这个保存在keychain中的UUID一直存在,即使你升级操作系统也会存在(我正好升级试了一下),这样我们就能保证设备编码的唯一性。参考如下网址:
https://www.jianshu.com/p/9ac37c964f2d
https://blog.csdn.net/qq_33298465/article/details/80333490
网友评论