2011-08-03 43 views
20

如果我們重置iPhone,設備ID保持不變。設備令牌是否一樣?設備令牌是否與設備ID一樣唯一?

+1

看一看[這對SO問題] [1] [1]:http://stackoverflow.com/questions/3726107/what-is-the-difference-between-iphone- device-udid-iphone-device-id-and-iphone-d – Maggie

+0

一般來說,UDID不應該用於任何目的,所以這就是令牌派上用場。 – Maggie

+0

但如果有人重置它的iPhone,設備令牌會改變?或者它是由UDID生成的蘋果? –

回答

21

我想你指的是到可用的方法的設備令牌如

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 

如果是這樣的話,那麼沒有,設備令牌可以將改變

從蘋果Local and Push Notification Programming Guide

引用通過請求設備令牌,它每一次傳遞給供應商應用程序啓動時,你幫助,以確保供應商對設備的當前令牌。如果用戶將備份還原到創建備份以外的設備(例如,用戶將數據遷移到新設備),則他或她必須至少啓動一次該應用程序,以使其再次接收通知。如果用戶將備份數據恢復到新設備或重新安裝操作系統,則設備令牌會更改。此外,切勿緩存設備令牌並將其提供給您的提供商;總是從系統中獲得令牌,只要你需要它

我也可以,因爲我用Urban Airship我的通知供應商,即使我只用過一臺測試設備,到目前爲止,有許多設備驗證此行爲用我的帳戶註冊的令牌。

+0

「永遠不要緩存設備令牌並將其提供給您的提供者;每當您需要時總是從系統獲取令牌」,問題是,您從哪裏獲取設備令牌。你必須在本地存儲它,並檢查令牌是否與原來的不一樣(Rayswenderich在他的教程中使用了這種方法) – OMGPOP

+0

該報價是直接從Apple的本地和推送通知編程指南中獲取的,絕對不需要緩存令牌;您只需在每次啓動應用程序時向Apple詢問,然後將其發送到推送提供商。 –

1

設備令牌是唯一的ID,但會改變。