1

我正在开发一个应用程序,在该应用程序中我需要一个特定于设备的全局唯一标识符(即 imei 等)。我尝试了以下代码,但它总是生成一个新的 uuid 。

CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidStr = ( NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuid);
CFRelease(uuid);

有什么方法可以让我得到一个永远存在的唯一标识符。

PS:- 我使用的是 iOS 5 和 iOS 6。

4

2 回答 2

3

Apple 不允许您跟踪唯一设备,因为该设备可以转手,而您确实想跟踪用户而不是设备。苹果也认为这是对隐私的侵犯。

goto 解决方案是使用OpenUDID,它们将为每个应用程序生成一个唯一的密钥,该密钥存储在钥匙串中。这意味着如果用户删除应用程序,钥匙串中的数据将保留。

于 2012-12-06T14:41:50.687 回答
0

您可以为自己创建一个唯一密钥,并将其存储到NSUserDefaults. 在启动时,检查NSUserDefaults以检索密钥。但是,它不会在删除/重新安装应用程序后“幸存”。

于 2012-12-06T14:39:21.957 回答