2015-09-25 13 views
0

當設備註冊爲遠程推送通知時,將調用以下方法。是否可以在回調函數didRegisterForRemoteNotificationsWithDeviceToken中使用deviceToken來唯一標識設備

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

我的問題是

  1. 可以使用這個(deviceToken)來唯一地標識設備。如果是的話,那麼這個生命週期(我的意思是它真的是uniq)是什麼?
  2. deviceToken在什麼情況下可以改變?
  3. 如果這是每個設備uniq直到設備的壽命(對於特定的應用程序供應商),那麼可以使用這個作爲替代Unique Identification of iOS device嗎?

編輯 我打算在這個問題標題寫device但寫道user

回答

2

第一個問題 - 推設備令牌沒有鏈接到用戶。如果同一用戶登錄到另一個設備,他將得到一個不同的令牌,並且如果另一個用戶登錄到同一設備,他也應該與用戶1共享該令牌。

第三個問題回答第二個問題,這裏是一個示例從蘋果文檔的文本:

令牌信任這個階段的形式確保只有的APN產生 令牌,它稍後將榮譽,它可以保證自己是一個 令牌由設備交給它是同樣的標記,它以前爲該特定設備配置了 ,並且僅用於該設備。

如果用戶將備份數據恢復到新設備或重新安裝操作系統,則設備令牌會發生變化。

因此,問題的關鍵是設備推送令牌永遠不能用作唯一標識符或UUID的替代方案。

編輯:每OP編輯,按照蘋果的文檔上面,因爲推設備令牌可以改變的,它不應該被視爲一個設備唯一標識符。

+0

非常感謝。我應該只使用UUID來唯一標識設備,APNS的deviceToken不可信任。 – zeal

+0

你說得對。別擔心。很高興,它澄清。您能否接受答案以避免重複併爲他人帶來好處。 – Abhinav

+0

請相應地編輯您的答案,這應該反映問題編輯。 – zeal

相關問題