2013-04-17 73 views
0

我目前正在開發一組iOS應用程序,這些應用程序將使用同一臺服務器進行身份驗證。服務器使用UDID進行設備驗證。我知道uniqueIdentifier現在已被棄用,所以我想知道跨應用程序擁有唯一標識符的最佳做法是什麼? (我知道如何生成我自己,並將其存儲在鑰匙串,但這將是專用),我已經看到了關於identifierForVendor和identifierForAdvertising跨應用程序的唯一iOS設備ID

帖子
+0

請看看http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now – nkongara

回答

1

文檔說:

棄用[uniqueIdentifier是] iOS 5.0。根據需要使用此類的identifierForVendor屬性或ASIdentifierManager類的advertisingIdentifier屬性,或者使用NSUUID類的UUID方法創建UUID並將其寫入用戶默認數據庫。

1

我們知道唯一標識符中的iOS 5.0已經過時這樣的文檔建議您使用CFUUID

代替。 可以使用

CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault); 
NSString *uuidString = (NSString *)CFUUIDCreateString(NULL,uuidRef); 
CFRelease(uuidRef); 

請保存uuidString在用戶違約或在其他地方獲得CFUUID,因爲你不能再生成相同的uuidString。

希望它可以幫助你。

+0

謝謝是的,我知道如何創建一個新的UUID字符串,但如果我' m沒有錯誤的用戶默認值不能通過應用程序訪問,對嗎?所以每個應用程序都會有一個不同的UUID,它不適合我在這種情況下要完成的任務。 – jrushing

+0

@JustinRushing那你爲什麼拒絕鑰匙扣解決方案? – matt

+0

如果您需要訪問多個應用程序,則可以將UUID存儲在鑰匙串中。這不應該成爲你的問題。 –