2012-12-06 86 views
1

我工作的应用程序,其中我需要一个设备专用的全局唯一标识符(即IMEI等)。我尝试了下面的代码,但它总是生成一个新的uuid。设备特定唯一标识符

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

有没有什么方法可以得到一个永远持续的唯一标识符。

P.S: - 我使用的是iOS 5和iOS 6

+0

的可能重复[唯一标识符的UIDevice弃用 - 什么现在要做的(http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now) – Paulw11

回答

3

苹果不允许你跟踪独一无二的设备,因为该设备可以转手,你真的要跟踪的用户而不是设备。苹果也认为这是对隐私的破坏。

一个goto溶液使用OpenUDID它们将产生每存储在钥匙串应用一个唯一的密钥。这意味着如果用户删除应用程序,钥匙串中的数据将会持续。

0

你可以自己创建一个唯一的密钥,并将其存储到NSUserDefaults。启动时,检查NSUserDefaults以检索密钥。它不会“存活”删除/重新安装应用程序。