Diese Frage ist wahrscheinlich das gleiche wie Duplicate Apple APNS push notifications?, aber da das eine Antwort nicht erhalten, und ich habe ein paar mehr Informationen, werde ich versuchen, es erneut zu fragen.Doppelte Push-Benachrichtigungen auf iOS
Schritte, das Problem zu reproduzieren:
- Set Notification Center Benachrichtigungen als Warnungen angezeigt werden, wird dies das Problem deutlicher machen.
- Stellen Sie sicher, dass die App nicht im Vordergrund ausgeführt wird.
- Senden Sie drei identische Push-Benachrichtigungen in schneller Folge.
- Warten Sie, bis die Nachrichten am Telefon ankommen. Sie müssen die Warnung jetzt dreimal abbrechen.
- Senden Sie jetzt 1 weitere Benachrichtigung, die nicht identisch mit den vorherigen ist.
- Sie erhalten jetzt diese letzte Benachrichtigung, aber Sie erhalten auch eine der vorherigen Benachrichtigungen noch einmal angezeigt. Das ist das Problem.
- Wenn Sie weiterhin einzelne Benachrichtigungen senden, wird eines der ersten 3 weiterhin angezeigt, wenn dies nicht der Fall ist.
Hier ist ein Video, das die folgenden Schritte aus, die eindeutig das Problem zeigt:
Wir haben ebenso wie Remy Gale in der verknüpften Frage tat oben dafür gesorgt, dass unsere Mitteilungen in gesendet werden der richtige Weg, und nur einmal pro Benachrichtigung. Das haben wir auch mit den Sandbox-Apns und den Production-Apns getestet, die sich beide genau gleich verhalten.
Das Problem verschwindet, wenn das App-Badge auf 0 gesetzt ist, wodurch wiederum alle Benachrichtigungen aus dem Benachrichtigungscenter entfernt werden. Das manuelle Entfernen der Benachrichtigungen hilft nicht.
UIApplication *app = [UIApplication sharedApplication];
app.applicationIconBadgeNumber = 0;
Aber das ist keine Lösung.
Das Problem tritt nicht auf, wenn alle Benachrichtigungen eindeutigen Text enthalten. Wenn Sie dem Alert-Text eine GUID hinzufügen, wird das Problem verschwinden. Das Hinzufügen zu den apns-Nutzdaten als benutzerdefinierte Eigenschaft oder als lokales Argument wird jedoch nicht helfen, daher ist dies auch keine Lösung.
Dies wird wahrscheinlich in einer Produktionsumgebung mit einer Live-App selten passieren, aber es kann passieren, und wenn es passiert, ist es wirklich ärgerlich für die Benutzer!
Weiß jemand, warum das passiert? Hat jemand eine praktikable Lösung?
Da die Push-Notifikationen vom Betriebssystem gehandhabt werden, gibt es nicht viel, was Sie tun können, um das zu lösen, denke ich.Ich würde dies Apple als Fehler melden und sie mit einer Testanwendung und deinem Youtube-Film versorgen. – rckoenes