2017-03-15 1 views
0

Derzeit habe ich einen Server, der Benachrichtigungen an meine Mac App sendet. Bevor ich die App freigebe, möchte ich jedoch Push-Benachrichtigungen an meine App senden können, indem ich den Produktionsschlüssel anstelle des Entwicklungsschlüssels (Sandbox) verwende und den Produktionsserver verwende. Auf diese Weise kann ich sicherstellen, dass alles im App Store funktioniert. Ich weiß, das iPhone hat Adhoc, die dies erlaubt, aber Mac scheint diese Option nicht zu haben. Es gibt ein Entwicklungsprofil, das jedoch nur in einer Entwicklungsumgebung (Sandbox) funktioniert. Gibt es eine Möglichkeit, die App-Push-Benachrichtigung im Produktionsmodus zu testen?Mac App: Wie Mac App Push-Benachrichtigungen auf Produktionsserver zu testen?

Antwort

1

Ja, es gibt Möglichkeiten, APN mit dem Apple Push Notification Service SSL (Produktion) Zertifikat zu testen, obwohl Ihre App wird dann anstelle der Produktionsumgebung verwenden, und die Berechtigung wird geändert müssen:

com.apple.developer.aps-environment von developer bis production.

Viele Push-Benachrichtigungsserver verarbeiten keine Fehlerantworten oder verworfene Verbindungen sind robust. Eine einfache Möglichkeit, dies zu überprüfen, ist absichtlich senden Sie eine Benachrichtigung an eine Sandbox-Umgebung Gerät Token, vorausgesetzt, Ihr Server kommuniziert mit der Produktion push Umgebung. Dies sollte eine ungültige Token-Antwort zurückgeben und die Verbindung fallen lassen. Um mehr über die Überprüfung Fehlerreaktionen von der Push-Service erhalten Sie in Push Notification Throughput and Error Checking

Mit zwei Umgebungen ermöglicht Spielraum für Pannen, während Sie Ihre App bauen. Wenn Sie sicher sind, wie der Server sendet und die App APNs in der Sandbox empfängt, erstellen Sie das Produktionszertifikat und senden Sie sich eine Benachrichtigung, um sicherzustellen, dass es funktioniert.

Hinweis: Es gibt eine separate dauerhafte Verbindung mit dem Push-Service für jede Umgebung. Das Betriebssystem richtet eine permanente Verbindung zur Sandbox-Umgebung für Entwicklungs-Builds ein, während die Ad- Hoc- und Distribution-Builds eine Verbindung zur Produktionsumgebung herstellen.

+0

Es scheint, dass ich meine App im Produktionsmodus ausführen muss. Wie mache ich das außerhalb des App-Stores? iOS hat Adhoc, aber Mac nicht. Ich habe com.apple.developer.aps-environment auf Produktion eingestellt, aber ich erhalte immer noch das Sandbox-Geräte-Token, weil meine App nicht mit meinem Distributions-/Produktionsprofil läuft. – Weakman10122

+0

@ Weakman10122: Generieren Sie die Produktionszertifikate für Ihre Anwendung wie bei den Sandbox-Entwicklungszertifikaten, und ersetzen Sie sie durch die Produktionszertifikate. Sie sollten außerhalb des App Stores wie die Sandbox-Versionen funktionieren, außer dass Sie die oben genannte Berechtigung ändern müssen und Sie die Entwicklungszertifikate nicht verwenden werden. –

+0

@ Weakman10122 Haben Sie eine Lösung dafür gefunden? Ich habe das gleiche Problem. Ich erhalte nur einen Sandbox-Token, selbst wenn ich die com.apple.developer.aps-Umgebung in Produktion ändere. Xcode mag es nicht, dass ich das manuell ändere. – jannej