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