2012-12-06 119 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以檢索密鑰。它不會「存活」刪除/重新安裝應用程序。