我正在开发一个应用程序,其中我需要一个特定于设备的全局唯一标识符(即imei等)。我尝试了以下代码,但它总是生成一个新的uuid。
CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidStr = ( NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuid);
CFRelease(uuid);
有什么方法可以获得一个永恒的唯一标识符。
P.S:我正在使用iOS 5和iOS 6。
答案 0 :(得分:3)
Apple不允许您跟踪唯一设备,因为设备可以转手,而您确实想要跟踪用户而不是设备。 Apple也认为这是对隐私的侵犯。
goto解决方案正在使用OpenUDID,它们将为每个应用程序生成一个存储在钥匙串中的唯一密钥。这意味着如果用户删除了应用程序,则钥匙串中的数据将保持不变。
答案 1 :(得分:0)
您可以创建一个唯一的密钥,并将其存储到NSUserDefaults
。启动时,选中NSUserDefaults
以检索密钥。它不会“幸存”删除/重新安装应用程序。