wake-up-neo.com

iOS-Anwendung fehlt im Benachrichtigungscenter

Problem: Die App wird nicht im Benachrichtigungscenter angezeigt und kann nach Abschluss der Installation keine Push-Benachrichtigungen empfangen. Die App registriert sich für Push-Benachrichtigungen über registerForRemoteNotificationTypes:.

Einzelheiten:

  • Die App wird normalerweise im Benachrichtigungscenter angezeigt, nachdem das Gerät neu gestartet wurde und danach alles einwandfrei funktioniert.
  • Manchmal erscheint die App direkt nach der Installation und Registrierung für APNs im Benachrichtigungscenter (Ich kann das immer noch nicht bestätigen, aber ich glaube, ich bin über solche Situationen gestolpert).
  • Die App ruft die Methode registerForRemoteNotificationTypes jedes Mal auf, wenn sich ein Benutzer anmeldet, und jedes Mal, wenn sich ein Benutzer mit Bitmasken (UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound) und UIRemoteNotificationTypeNone abmeldet.
  • enabledRemoteNotificationTypes gibt korrekte Werte zurück.
  • Anfangs habe ich die Methode unregisterForRemoteNotifications beim Abmelden verwendet, aber ich änderte sie in registerForRemoteNotificationTypes:UIRemoteNotificationTypeNone, weil Verdächtige das Problem verursachen könnten.
  • Dieses Problem tritt sowohl bei der Entwicklung als auch bei Ad-hoc-Builds auf und unabhängig davon, ob die App über Xcode oder iTunes installiert wird.

Alle Gedanken und Ratschläge werden sehr geschätzt. Vielen Dank!

13
e2l3n

Dies geschah auf einigen meiner Geräte. (Wird nicht im Benachrichtigungscenter angezeigt und empfängt keine Push-Nachrichten.)

Behebung des Problems durch:

  • Löschen Sie die App
  • Löschen Sie alle relevanten Profile vom Gerät. Einstellungen-App> Allgemein> Profile, tippen Sie dann auf jedes der mit Ihrer App verbundenen Bereitstellungsprofile, und tippen Sie anschließend auf Entfernen. Verwenden Sie unter iOS 8/9, wo die Einstellung nicht mehr vorhanden ist, XCode> Windows> Geräte> Gerät auswählen> Bereitstellungsprofile anzeigen ...> und entfernen Sie dann die Profile.
  • Schalten Sie Ihr Telefon aus und wieder ein.
  • Gib 5 Minuten
  • Installieren Sie Ihre App neu. Das Provisioning-Profil sollte automatisch installiert werden.
  • Starten Sie die App und lassen Sie sie sich registrieren.
  • Testen Sie die Push-Benachrichtigungen erneut

Für uns hat es nicht sofort funktioniert, also geben Sie uns ein paar Minuten.

16
just.jimmy

Nun, ich habe auch dieses Problem. Ich habe festgestellt, dass die Anwendung unregisterForRemoteNotifications vor der Deinstallation bei der vorherigen Installation verwendet hat. 

Wenn die Anwendung erneut installiert wird und sich registriert, um sich für die Remote-Benachrichtigungen zu registrieren, tritt dieses Problem auf.

Dies geschah auch bei der ersten Installation (installiert nach dem Zurücksetzen Ihres iOS-Geräts). Wenn Sie die unregisterForRemoteNotifications vor der Anmeldung verwenden und sich beim Anmeldevorgang registrieren, tritt dieses Problem auf.

Da dieses Problem aufgetreten ist, müssen Sie das iOS-Gerät neu starten.

Für die unregisterForRemoteNotifications konnten wir dieses Problem nicht stoppen, aber wir können die Wahrscheinlichkeit des Auftretens des Problems verringern. Die Methode lautet:

Wenn das Gerätetoken bei der vorherigen Installation nicht vom Provider gelöscht wurde, verwenden Sie vor der Anmeldung unregisterForRemoteNotifications bei der aktuellen Installation; Andernfalls sollten Sie niemals unregisterForRemoteNotifications verwenden.

0
Jennifer

Möglicherweise gibt es ein Problem mit der Registrierung und Aufhebung der Registrierung der App beim Anmelden bzw. Abmelden aus Apples Dokumentation :

Eine Anwendung sollte sich bei jedem Start registrieren und ihrem Provider das aktuelle Token mitteilen.

Wenn Sie sich nicht sicher sind, ob Sie die Registrierung rückgängig machen möchten, erwähnen Sie in ihrem Programmierhandbuch nicht, dass die Registrierung aufgehoben wird. Möglicherweise wird die Registrierung der App niemals aufgehoben, und der Server sollte dies tun, indem Sie Push-Benachrichtigungen senden oder nicht senden, je nachdem, ob der Benutzer angemeldet ist oder nicht. So habe ich es in der Vergangenheit gemacht und habe dieses Problem noch nie erlebt. Vielleicht funktioniert dieser Ansatz auch für Sie.

0
irodrigo17