Meine Push-Benachrichtigungen funktionierten vor etwa einem Monat. Ich arbeite in Produktion Push-Benachrichtigungen. Ich habe an meinem Projekt eine Weile wegen anderer Verpflichtungen nicht gearbeitet, und als ich zurückkam, konnte ich keine Push-Benachrichtigung mehr senden.Fehlerbehebung Apple Push Notification Services
Nachdem ein Protokoll erstellen, die bis zu meiner Produktion SNS verbunden ist, ich habe dies bemerkt:
"Lieferung": { "deliveryId": "d3675e8a-45b0-58db-9b79-11e284987bbb" , "Ziel": "arn: aws: sns: us-east-1: 445291524102: Endpunkt/APNS/für freie Zeit/587673f1-cf48-3b3e-9e74-04d39f8affc3", "providerResponse": „NotificationErrorResponse (command = 8, status = InvalidToken, ID = 1, verursachen = null)“ "dwellTimeMs": 319, "Versuche": 1, "token": "55d7b18b064eecad93fb666818651d4f33b612487ee810b092f081cef41d4e43", „status“: 8 },
Nach der Untersuchung der Angelegenheit begann ich meine Anmeldeinformationen, um zu versuchen zu überprüfen, um zu sehen, ob ich in den Server bekommen kann.
Ich hat versucht, den Apfel docs verwendet, die mich zu diesem Befehl führten:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert BusyTimeProductionKey.pem -debug -showcerts -CAfile ProductionAPS.pem
Und ich verwenden Raywenderlich.com Tutorial es eine Weile zurück und verwenden diesen Befehl zur Einrichtung erneut zu überprüfen:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert ProductionAPS.pem -key BusyTimeProductionKey.pem
Beide, die spucken eine große Menge an Ausgangs aus und gab mir diese Linie, um anzuzeigen, dass die Verbindung in Ordnung war: SSL-Handshake 3160 Bytes und geschriebenen Bytes 2319 gelesen hat
Allerdings habe ich auch bemerkt, diese Zeile über alles, der aussah, arbeitete:
verify error:num=20:unable to get local issuer certificate
verify return:0
Ist die Fehlerzeile etwas mit diesem Fehler zu tun haben? Wenn nicht, wie sollte ich dieses Problem beheben? Bitte beachten Sie, dass ich einen Debugging-Punkt in xcode gesetzt habe, manuell den Geräte-Token für ein Gerät, das ich gerade testet, erfasst und in die SNS-Konsole eingefügt habe, um zu isolieren, dass es sich nicht um ein fehlerhaftes Token handelt. Vielen Dank für Ihre Zeit und Rücksicht. Ich habe auch eine Theorie, dass ich nicht das richtige Provisioning-Profil verwenden könnte. Müsste ich überprüfen, ob ich das Profil für die Bereitstellung verwende? Wenn ja, wie würde ich das tun?