0
我有,我只收到一個iPad設備上的下列錯誤一個奇怪的問題:GCM註冊在iPhone上成功,但沒有ipad的
The operation couldn’t be completed. (com.google.iid error 501.)
在GCM註冊過程來請求GCM令牌。即
GGLInstanceID.sharedInstance().tokenWithAuthorizedEntity(gcmSenderID,
scope: kGGLInstanceIDScopeGCM,
options: gcmRegistrationOptions,
handler: gcmRegistrationHandler)
我在關注the example這封信。 iPhone上的同樣的過程工作得很好。我不確定這兩款設備之間有什麼區別,以及爲什麼GCM拒絕在iPad上註冊。這兩款設備目前都在運行iOS 9.3.1。
頭文件表明,這個錯誤對應:
// Device seems to be missing a valid deviceID. Cannot
// authenticate device requests.
kGGLInstanceIDOperationErrorCodeMissingDeviceID = 501,
不過,我不知道到底是什麼意思。爲什麼iPad會丟失一個設備ID,但iPhone可以嗎?
如果任何人有任何想法,爲什麼會發生這種情況,並可以分享一些見解,我將不勝感激。
謝謝!
你試過註冊ipad嗎?根據(https://developers.google.com/cloud-messaging/notifications),您必須爲每個設備獲取註冊令牌。 501是內部服務器錯誤。您可能需要刷新令牌或請求另一個令牌。 – noogui
感謝您的回覆@noogui。你在哪裏看到501是內部服務器錯誤?我相信你會將HTTP狀態碼與Google SDK產生的錯誤代碼混合在一起。我直接從SDK源代碼中找到它與無效的deviceID相關的信息。是。設備正試圖在此時註冊,並且在註冊過程中出現錯誤。因此,它無法刷新或請求令牌,因爲它正在嘗試執行該操作並正在接收此錯誤。 – astjohn