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:
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.unregisterForRemoteNotifications
beim Abmelden verwendet, aber ich änderte sie in registerForRemoteNotificationTypes:UIRemoteNotificationTypeNone
, weil Verdächtige das Problem verursachen könnten.Alle Gedanken und Ratschläge werden sehr geschätzt. Vielen Dank!
Dies geschah auf einigen meiner Geräte. (Wird nicht im Benachrichtigungscenter angezeigt und empfängt keine Push-Nachrichten.)
Behebung des Problems durch:
Für uns hat es nicht sofort funktioniert, also geben Sie uns ein paar Minuten.
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.
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.