唯一标识iOS设备的最佳方法?
我知道以下方法是否都有缺陷唯一标识iOS设备的最佳方法?,ios,mac-address,udid,identify,Ios,Mac Address,Udid,Identify,我知道以下方法是否都有缺陷 乌迪德 广告标识符 供应商ID UDID的问题是,它已被弃用,甚至在ios7之前无法工作,而另外两个UDID的问题是,用户可以通过手机软件重置或重新安装应用程序来更改它们 我发现的另一个有趣的解决方案是自己随机生成一个,然后保存到keychain,以避免在重新安装应用程序时删除。但是,这会在软件重置时起作用吗?当然,两台设备随机生成相同ID的可能性很小 我认为最好的选择可能是使用UDID,但我想知道,即使UDID在ios7中是不正确的,它是否仍然是唯一的 还有一个
- 乌迪德
- 广告标识符
- 供应商ID
请告知最佳选项无法启动iOS 7推断MAC地址。但是,您可以使用以下命令:
[[[UIDevice currentDevice] identifierForVendor] UUIDString]
Per:
当用户从中删除该供应商的所有应用程序时,该值会更改
然后重新安装一个或多个设备。价值
也可以在使用Xcode安装测试生成或安装
使用临时分发的设备上的应用程序。因此,如果你的应用程序
将此属性的值存储在任何位置,您应该
处理标识符更改的情况
根据这个答案,有一个获取MAC地址@egor.zhdan的API,答案和评论表明它在ios7及以上版本上不起作用,就像udidt一样,有一些商业供应商使用设备指纹识别技术来识别设备。你有什么理由不想让用户在第一次打开应用程序时创建帐户吗?@Aabglov我就是这么做的。我计划支持用户在一个帐户上拥有多个设备,因为我的应用程序的结构,它要求设备具有唯一的标识。改变价值会破坏这一想法。我可以将价值存储在keychain中,但随后它会与其他设备同步,这样它就不会是唯一的