关于ios:设备UDID的替代品 – 为自己做好准备

An alternative to the device UDID - preparing ourselves

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
UIDevice uniqueIdentifier Deprecated - What To Do Now?

我知道有很多关于这个的问题,但我认为,因为苹果正在提前计划,并且积极地拒绝使用UDID的应用程序(http://pulse.me/s/7mzke),所以美国的开发者需要采取积极的方法,并大量讨论这个问题。

所以问题是-除了访问它的udid属性之外,什么是唯一设备标识的好的、稳定的和正确的替代方法?


这取决于您的需要……如果您正在为应用程序寻找一个简单的设备标识符,那么关于不推荐使用的uniqueIdentifier方法的文档几乎可以提供您的答案:

Do not use the uniqueIdentifier property. To create a unique identifier specific to your app, you can call the CFUUIDCreate function to create a UUID, and write it to the defaults database using the NSUserDefaults class.

CFUUIDCreate将返回您的应用程序所特有的唯一手持设备标识符。您需要将它存储在NSUserDefaults中,因为如果您以后打电话,它将发生变化。对于大多数用户来说,这就足够了,而且这并不像苹果公司没有对这种变化提供足够的警告(iOS 5已经发布六个多月了,开发人员的文档也更长了)。

另一种情况是,您需要在应用程序(即移动广告网络)之间共享设备标识符。这是一个更为复杂的问题,有许多备选方案(也不能保证它们会在未来继续存在:苹果拒绝使用udid api的主要原因可能是停止跨应用程序用户跟踪)。


我个人最喜欢的是openudid。

你可以在这里抓住Github。

我已经总结了我的想法,并在这里简要描述了一下。


安全的udid,基于openudid,但更安全,只能由域访问(和salt)

更多信息。


在任何无线通信过程中,协议规范已经公开了设备2或3 MAC地址中的一个。


虽然我认为这不是一个典型的"我如何克服这一特定的技术挑战",但我同意这一点非常重要,可以在so(不确定-wiki)中得到很好的讨论。论坛?)我很想知道是否有人在讨论这场风波是如何击败这场风波的。