设备特定的唯一标识符
Posted
技术标签:
【中文标题】设备特定的唯一标识符【英文标题】:Device specific unique identifier 【发布时间】:2012-12-06 14:36:03 【问题描述】:我正在开发一个需要设备特定的全局唯一标识符(即 imei 等)的应用程序。我试过下面的代码,但它总是生成一个新的 uuid。
CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidStr = ( NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuid);
CFRelease(uuid);
有什么方法可以让我获得一个永久有效的唯一标识符。
P.S:- 我使用的是 ios 5 和 iOS 6。
【问题讨论】:
UIDevice uniqueIdentifier Deprecated - What To Do Now?的可能重复 【参考方案1】:Apple 不允许您跟踪唯一设备,因为该设备可以易手,而您确实希望跟踪用户而不是设备。 Apple 也认为这是对隐私的侵犯。
goto 解决方案使用OpenUDID,它们将为每个应用程序生成一个唯一的密钥,该密钥存储在钥匙串中。这意味着如果用户删除应用程序,钥匙串中的数据将保留。
【讨论】:
【参考方案2】:您可以为自己创建一个唯一的密钥,并将其存储到NSUserDefaults
。在启动时,检查NSUserDefaults
以检索密钥。但它不会在删除/重新安装应用程序后“幸存”。
【讨论】:
以上是关于设备特定的唯一标识符的主要内容,如果未能解决你的问题,请参考以下文章