- UIDevice::identifierForVendor
- ASIdentifierManager::advertisingIdentifier
- 蘋果官方 APNS 訊息推送服務 (Apple Push Notification Service) 上面的 deviceToken 值
要用 ASIdentifierManager::advertisingIdentifier 這個值的限制是:
- 必須要在 App 裡面有用到廣告機制的時候才可以使用這個值,不然蘋果在審核 App 的時候是會把 App 退回的。
- 使用者可以在 iOS 設備上強制把這個值重新設成新的值;使用者重設這個值之後,在你的 App 被關掉重啟之後這個值才會抓到這個新的值。
- 使用者如果把 iOS 設備重置成出廠狀態的話,這個值也會變成新的值。
現在在 iOS App 開發上蘋果官方是建議 App 開發者使用 UIDevice::identifierForVendor 來識別使用者的設備,但是要使用這個值也是有限制的:如果你有多個 App 透過同一個開發者 Team ID 發佈並被安裝在同一台 iOS 設備上時,只要你任何一個 App 都沒有被使用者移除的話,這個 identifierForVendor 的值是不會變的;如果你的所有 App 都被使用者移除了,或是 iOS 設備被重置成出廠狀態的話,在下次使用者把你的 App 安裝回來的時候這個值就會變成新的值了。
如果有 App 開發者需要取得 iOS 設備上唯一的識別值的話,要多注意這幾項限制喔! ;)
參考資料: