Ruby apns gem gibt nil zurück

8

Ich versuche, das APNS-Juwel mit meiner Rails-App zu verbinden. Ich hatte das ursprünglich vor einigen Monaten eingerichtet und Push-Benachrichtigungen an iOS-Geräte funktionierten reibungslos. Jetzt ist meine App live und ich habe festgestellt, dass Benachrichtigungen nicht mehr ausgehen. Das APNS-Juwel wurde seit einiger Zeit nicht mehr aktualisiert, also habe ich verschiedene spätere Gabeln ausprobiert, alle mit dem gleichen Effekt .

Folgendes mache ich:

%Vor%

Und das Ergebnis?

%Vor%

Es gibt keine Rückmeldung von irgendeiner Methode, keine Protokolldatei, die ich überprüfen kann. Ich habe versucht, mein Zertifikat zu generieren und neu zu erstellen. hier scheint alles in Ordnung zu sein. Ich habe versucht, mein Geräte-Token auf verschiedene Arten auszudrücken, ohne die spitzen Klammern, ohne Leerzeichen zwischen Gruppen von Zeichen ... APNS ist es egal.

Angesichts der Anzahl der beteiligten beweglichen Teile weiß ich, dass dies eine schwierige Frage ist. Aber kann jemand vorschlagen, wo man hinschauen soll?

    
Aaron Vegh 18.11.2012, 03:08
quelle

3 Antworten

2

Ich glaube, ich habe die Antwort gefunden. Nachdem ich ein Konto bei Urban Airship registriert hatte, versuchte ich, eine Testnachricht an mein Handy zu senden, und das ohne Erfolg. Aber diese Jungs haben sich tatsächlich zusammen getan, also konnten sie mir die Fehlermeldung zeigen! Es stellte sich heraus, dass mein Geräte-Token ungültig war. Warum? Weil es von der Sandbox-Version der App generiert wurde.

Ja, meine App befindet sich im Store, aber es stellt sich heraus, dass mein App Store-Verteilungsprofil generiert wurde, bevor die Push-Benachrichtigungsberechtigung hinzugefügt wurde. Wenn Sie also das Codesign-Tool für meine ausführbare Datei ausführen, wird die Berechtigung nicht angezeigt. Hier ist ein Beispiel:

%Vor%

Dieser Befehl sollte ein plist anzeigen, das den Schlüssel mit dem Wert "production" enthält. Meine Freigabe hatte diesen Schlüssel überhaupt nicht.

Ich musste tatsächlich ein komplett neues Verteilungsprofil im Provisioning-Portal erstellen, das schließlich die richtigen Berechtigungen enthielt. Ich konnte das noch nicht testen (8 Tage App Store Review, irgendjemand?), Aber ich glaube, das ist das Problem.

P.S. Dieser Artikel auf der Seite von Urban Airship hat mir dabei geholfen.

    
Aaron Vegh 21.11.2012, 03:45
quelle
2

Die offizielle Dokumentation sagt dies:

  

Wenn Sie eine Benachrichtigung senden und APNs findet die Benachrichtigung fehlerhaft   oder andernfalls unverständlich, gibt es vorher ein Fehler-Antwort-Paket zurück   trennen. (Wenn kein Fehler auftritt, gibt APNs nicht zurück   alles.) Abbildung 5-3 zeigt das Format des Fehler-Antwort-Pakets.

Es macht also nur Sinn, dass das Juwel nichts zurückgibt, weil der Server von Apple es nicht weiß, was es macht. Auch wenn Sie sich die GitHub-Seite des Edelsteins ansehen, behandeln die angegebenen Beispiele nicht den Rückgabewert von APNS.send_notification .

Beim letzten Mal, als ich mit Apple Push Notifications gearbeitet habe, hat es sich ziemlich wie eine Blackbox verhalten und die meiste Zeit nichts zurückgegeben.

    
Raf 20.11.2012 16:38
quelle
0

Das hat für mich funktioniert,

%Vor%

P. S. Ссылка

    
Dhara Joshi 30.05.2014 11:40
quelle