我正在開發一個原生的iOS應用程序,我是一種新手,既有Objective-C和Apple設備的開發。有什麼方法可以識別iDevice用戶嗎?
在我的應用程序中,我需要通過獨特的方式識別用戶。我認爲最好的解決方案是獲取當前的Apple ID並將其存儲在在線數據庫中以用於我的目的。唯一的問題是用戶可以改變它。所以,我認爲蘋果公司必須有另一個標識符才能區分實際賬戶。
有什麼辦法可以得到那個嗎?我錯過了什麼?有些課程?
在此先感謝... 皮特
我正在開發一個原生的iOS應用程序,我是一種新手,既有Objective-C和Apple設備的開發。有什麼方法可以識別iDevice用戶嗎?
在我的應用程序中,我需要通過獨特的方式識別用戶。我認爲最好的解決方案是獲取當前的Apple ID並將其存儲在在線數據庫中以用於我的目的。唯一的問題是用戶可以改變它。所以,我認爲蘋果公司必須有另一個標識符才能區分實際賬戶。
有什麼辦法可以得到那個嗎?我錯過了什麼?有些課程?
在此先感謝... 皮特
所有iOS設備都與唯一標識符UDID,通過至極入店是:
[[UIDevice currentDevice] uniqueIdentifier]
但是,這是由蘋果氣餒,一些應用程序也越來越被拒絕使用它,基本上是因爲蘋果不希望你跟蹤或將設備視爲獨一無二的,因爲你可以出售它或與另一個人交換。
您可以做的是創建一個UUID which is a unique identifier並將其存儲在鑰匙鏈中,這意味着即使該應用程序被刪除,該唯一ID仍會保留在手機中,但只會在您恢復出廠設置時纔會消失,這是蘋果想要的。
另一種解決方案是使用將產生UNIQUEID設備的基礎上像openUDID或UIDevice-with-UniqueIdentifier-for-iOS-5
希望這有助於外部庫!
太好了,非常感謝! P – 2011-12-25 21:59:59
沒有辦法獲得唯一的用戶標識符(除非有禮貌地詢問用戶可選和未經驗證的響應)。 Apple的隱私政策看起來不允許他們以任何方式暴露應用用戶的身份信息。
iOS設備UDID不僅由Apple棄用,而且與用戶無關(因爲設備可能已經更改了所有者,並且單個用戶可以擁有多個設備並且都具有不同的UDID)。
[[UIDevice currentDevice] uniqueIdentifier]
現在是已棄用。
你應該使用這樣的:
UIDevice *device = [UIDevice currentDevice];
NSUUID *uniqueIdentifier = [device identifierForVendor];
identifierForVendor不是可信的唯一標識符,因爲它在某些情況下確實會更改。唯一真正可信的唯一標識符是Game Center中的playerID屬性,但不幸的是它僅適用於遊戲。 – Heitor 2015-11-09 06:37:38
的目的是什麼你會在識別用戶?這將指導最佳答案,因爲有很多方法可以這樣做。您可以使用其硬件標識符識別*設備*,如果您正在製作遊戲,則可以使用Game Center帳戶集成來識別播放器。您已經發現使用Apple ID的問題,即可以使用沒有iOS設備的iOS設備,或者更改它。 – 2011-12-25 21:26:21
這是一份報紙應用程序,我需要爲已經購買打印訂閱的用戶授予免費的在線訂閱。我的理念是我會將用戶綁定到客戶身上(就像恢復零售價的應用內購買一樣)。 – 2011-12-25 21:55:46