设备特定的唯一标识符

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 以检索密钥。但它不会在删除/重新安装应用程序后“幸存”。

【讨论】:

以上是关于设备特定的唯一标识符的主要内容,如果未能解决你的问题,请参考以下文章

Android 设备唯一标识

2020-09-07 手机设备唯一标识

iOS 和 Android 的移动设备唯一性

如何获取Android唯一标识

前端JS获取设备IP地址和唯一标识

如何获取Android唯一标识