可能重复:
UIDevice uniqueIdentifier Deprecated - What To Do Now?
我知道有关于此的问题有很多问题,但我认为因为Apple正在提前进行并主动拒绝使用UDID的应用程序(http://pulse.me/s/7mzKE),我们的开发人员需要采取积极的方法,并批量讨论这个问题。
所以问题是 - 除了访问它的UDID属性之外,什么是唯一设备识别的良好,稳定和正确的替代方案?
答案 0 :(得分:15)
这取决于您的需求...如果您正在寻找应用程序使用的简单设备标识符,那么弃用uniqueIdentifier
方法的文档几乎可以提供您的答案:
不要使用uniqueIdentifier属性。要创建特定于应用程序的唯一标识符,可以调用
CFUUIDCreate
函数创建UUID,并使用NSUserDefaults
类将其写入默认数据库。
CFUUIDCreate
将返回您的应用程序独有的唯一手机标识符。您需要将其存储在NSUserDefaults
中,因为如果您进行后续调用,将会更改。对于大多数用途来说,这就足够了,并不是Apple没有提供足够的警告来改变这种变化(iOS 5已经出现了六个月以上,开发人员的文档更长)。
其他方案是您需要跨应用程序(即移动广告网络)共享设备标识符的位置。这是一个更复杂的问题,有许多替代选项(也不能保证它们将来会存在:Apple弃用UDID API的主要原因可能是停止跨应用程序用户跟踪)
答案 1 :(得分:9)
答案 2 :(得分:4)
SecureUDID,基于OpenUDID但更安全,只能通过域(和盐)访问
答案 3 :(得分:1)
在任何无线通信期间,协议规范已经公开了其中一个设备2或3 MAC地址。
答案 4 :(得分:0)
虽然我认为这不是一个典型的“我如何克服这一特定的技术挑战”,但我同意它非常重要,并且可以在某种程度上进行很好的讨论(不确定 - 维基?论坛?)。我有兴趣知道是否有关于Flurry beat this的讨论。