刚刚看到UIDevice uniqueIdentifier属性在iOS 5中已弃用,在iOS 7及更高版本中不可用.似乎没有替代方法或财产可用或即将出现.
我们的许多现有应用程序都严格依赖此属性来唯一标识特定设备.我们如何处理这个问题呢?
2011 - 2012年文件中的建议是:
特别注意事项
不要使用uniqueIdentifier属性.要创建特定于应用程序的唯一标识符,可以调用该
CFUUIDCreate函数创建一个UUID,并使用NSUserDefaults该类将其写入默认数据库.
但是,如果用户卸载并重新安装应用程序,则此值将不同.
Apple正在更改其iOS6的隐私设置并弃用设备UUID(UDID).根据WWDC演示文稿和文档,UDID有两个替代品,在UIDevice课堂上:
-identifierForVendor-identifierForAdvertising在我看来,-identifierForVendor它不如-identifierForAdvertising因为它会在上次从供应商卸载应用程序时重置并"擦除所有内容和设置".
没有什么优势-identifierForVendor有过-identifierForAdvertising?
是否有任何唯一的设备ID(UDID)或任何类似的ID,我可以在Windows 8上读取,不会随硬件更改,应用程序重新安装等而改变?
如果否 - 自己生成它的最佳方法是什么?