2016-08-04 28 views
0

Ich bin mir nicht sicher, ob dies ein Problem der Bibliothek oder etwas falsch auf unserer Seite ist, aber ich habe schon viel Zeit damit verbracht und nichts gefunden, was Licht hervorbringen könnte.iOS - Laufzeitfehler mit GCM

Wir verwenden GCM seit einiger Zeit sowohl auf iOS als auch auf Android. Die Anwendung ist in Produktion und funktioniert gut. Unsere iOS-App sammelt und meldet Fehler mit geringer Auswirkung (im Grunde genommen Fehler, die wir erfassen und verarbeiten) und analysiert diese Daten. Ich habe die Fehler gefunden, die ich nicht verstehen kann.

Bei der Registrierung eines Geräts auf GCM mit einem APNS Token

Error Domain=com.google.iid Code=1006 "(null)", die entsprechend der Dokumentation ist kGGLInstanceIDOperationErrorCodeInvalidKeyPair

Während zu einem Thema abonnieren

Error Domain=com.google.gcm Code=501 "(null)" das accor ding zu der Dokumentation ist kGGLInstanceIDOperationErrorCodeMissingDeviceID

Beide Fehler passiert auf iOS8/iOS9/iOS10.

Unsere App beinhaltet die GCM Bibliothek über Cocoapods:

pod 'Google/CloudMessaging', '2.0.4'

Kann mir jemand helfen zu verstehen, was geschieht?

Danke!

Antwort

1

Der erste Fehler kGGLInstanceIDOperationErrorCodeInvalidKeyPair bedeutet, dass Sie einen Fehler im KeyPair-Zugriff haben. Während der Fehler kGGLInstanceIDOperationErrorCodeMissingDeviceID bedeutet, dass Ihr Gerät eine gültige DeviceID zu fehlen scheint. Es kann keine Geräteanforderungen authentifizieren. Von dieser related thread wurde der Fehlercode 501 durch Zurücksetzen aller Daten und Einstellungen auf dem Gerät (Werkseinstellung) gelöst und das Problem behoben. Es wird auch here angegeben, dass der Fehler möglicherweise aufgetreten ist, weil Sie GCMService.sharedInstance().connectWithHandler() { error in if(error != nil) { print(error) } } aufrufen, bevor Sie ein Registrierungs-Token erhalten haben, oder Ihr Token nicht aktualisieren konnte.

Aber ich fand diese SO question, die ähnliche Problem mit Ihnen haben, die einen Übergang zu Firebase Cloud Messaging wie von Google empfohlen vorgeschlagen und sein Problem wurde gelöst.