2016-02-15 30 views
0

我在我的應用中實施了Google Cloud Messaging。該應用程序註冊沒有問題。但是過了一兩天,它就無法再連接到谷歌的MSC。該應用程序使用開發人員配置證書並與kGGLInstanceIDAPNSServerTypeSandboxOption:true一起運行。iOS GCM在一段時間後無法連接

我添加了調試標誌-GMRDebugEnabled。它表示它缺少我鑰匙串中的身份驗證憑據。

GCM | No cached checkin auth credentials in Keychain. 
GCM | Cannot find checkin plist contents. 
GCM | No cached checkin auth credentials in Keychain. 
GCM | Cannot find checkin plist contents. 
GCM | GCM registration is not ready with auth credentials 
GCM | No cached checkin auth credentials in Keychain. 
GCM | Cannot find checkin plist contents. 
GCM | Failed to connect to MCS. No deviceID and secret found. 
GCM | Did start network rechability notifications 

連接處理程序附帶的錯誤對象爲空。

Domain=com.google.gcm Code=501 "(null)" 

另外它不應該是一個網絡問題,因爲我嘗試通過移動網絡連接。任何人都知道爲什麼會發生這種情況?

回答

0

這是一個基於Google文檔的內部錯誤。

500-599範圍內的錯誤(如500或503)表明GCM連接服務器在嘗試處理請求時發生內部錯誤,或者服務器暫時不可用(例如,由於超時)。發件人必須稍後重試,並遵守響應中包含的任何Retry-After標題。應用程序服務器必須實現指數後退。

嘗試刷新您的註冊令牌並查看它是否有效。

+0

你是什麼意思「刷新你的令牌」?刷新令牌由GCM服務器觸發 - 不由iOS應用程序觸發。當我嘗試重新註冊時,它是行得通的 - 但是這是所需的行爲嗎? – user753654

+0

由於您在收到註冊令牌之前調用了'GCMService.sharedInstance()。connectWithHandler(){if(error!= nil){print(error)}}'錯誤,因此似乎發生錯誤。 – abielita

+0

我已經收到註冊令牌 - 在初始應用程序啓動時。正如我上面所描述的 - 不知何故,它會失效。在文檔中 - 有一個單獨的刷新令牌的處理程序 - 由GCM服務器觸發 - 但它不會被調用。 – user753654

相關問題