Я применил Google Cloud Messaging в своем приложении. Приложение регистрируется без проблем. Но через день или два он больше не может подключиться к MSC Google. Приложение использует сертификат Prov Provisioning Certificate и работает с kGGLInstanceIDAPNSServerTypeSandboxOption:true
.iOS GCM Не удается подключиться через некоторое время
Я добавил флагом отладки -GMRDebugEnabled
. В нем говорится, что в моей цепочке ключей отсутствуют учетные данные auth.
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)"
Также, это не должно быть сетевой проблемой, так как я пытаюсь подключиться через мобильную сеть. Кто-нибудь знает, почему это происходит?
Что вы имеете в виду под «обновить свой токен»? Обновляющий токен запускается сервером GCM, а не приложением iOS. Когда я пытаюсь перерегистрировать, он работает - но это ли это желаемое поведение? – user753654
Кажется, что ошибка произошла из-за того, что вы вызывали 'GCMService.sharedInstance(). ConnectWithHandler() {error in if (error! = Nil) {print (error)}}' перед тем, как вы получили регистрационный токен. – abielita
Я уже получил регистрационный токен - при первом запуске приложения. Как я описал выше - как-то он становится недействительным. В документации есть отдельный обработчик для обновления токена, инициированного сервером GCM, но он не вызван. – user753654