刚刚看到UIDevice uniqueIdentifier属性在iOS 5中已弃用,在iOS 7及更高版本中不可用.似乎没有替代方法或财产可用或即将出现.
我们的许多现有应用程序都严格依赖此属性来唯一标识特定设备.我们如何处理这个问题呢?
2011 - 2012年文件中的建议是:
特别注意事项
不要使用uniqueIdentifier属性.要创建特定于应用程序的唯一标识符,可以调用该
CFUUIDCreate函数创建一个UUID,并使用NSUserDefaults该类将其写入默认数据库.
但是,如果用户卸载并重新安装应用程序,则此值将不同.
我已就此做了大量研究,所以请在将此问题标记为与其他问题类似之前阅读该问题.
我们的应用程序需要唯一地确定iPhone,即使用户完全擦拭手机,当他运行我们的应用程序时,我们可以确定它是相同的设备.最重要的是我们还需要确定多个Apple ID用户的设备,因此包含Keychain访问和uniqueVendorID的建议可能无法正常工作,因为当其他用户开始使用该手机时,这些建议会发生变化.正如我读过的那样,使用MAC地址和设备的旧UDID从iOS 6.0开始不再可用.我通过[的UIDevice identifierForVendor]去,但是当所有由同一供应商提供的应用程序已被卸载此NSUUID改变参考.
我查看了这些资源:
和
我不能透露我的应用程序因不披露而执行的工作性质,但要澄清我的要求:
多个用户可能会在同一部手机上使用我们的应用程序,我需要一种方法来了解之前使用的设备用户A并且已报告已移交给用户B的设备与运行我们的应用程序的设备相同.有没有办法实现这个目标?