Ich arbeite an einer Anwendung, die eine UNNotificationServiceExtension verwendet. Die meiste Zeit (etwa 90%) läuft meine Erweiterung korrekt, macht eine Verbindung zum Backend und zeigt dann die Benachrichtigung an. Aber manchmal scheint die Erweiterung überhaupt nicht zu laufen und das System zeigt die ursprüngliche Nachricht in der Benachrichtigung an. Warum passiert das? Alle Benachrichtigungen enthalten definitiv den mutable-content Schlüssel, der auf 1 gesetzt wird.UNNotificationServiceExtension läuft manchmal nicht
Antwort
Ich laufe auf das gleiche Problem, als ich UNNotificationServiceExtension
implementierte. Mein Problem war in der Zeit Einschränkung, dass zusätzliche Inhalte
Ihre Erweiterung zu laden, hat eine begrenzte Menge an Zeit (nicht mehr als 30 Sekunden) den Inhalt zu ändern und den Contentblock auszuführen. Wenn Sie diesen Block nicht rechtzeitig ausführen, ruft das System die Methode extensionTimeWillExpire() der Erweiterung auf, um Ihnen eine letzte Möglichkeit zum Ausführen des Blocks zu geben. Ist dies nicht der Fall, zeigt das System dem Benutzer den ursprünglichen Inhalt der Benachrichtigung mit an.
Wenn Sie sicherstellen wollen, dass es das gleiche Problem ist, können Sie folgende Methode implementieren und Inhalt in gewisser Weise ändern
func serviceExtensionTimeWillExpire()
Durch das Hinzufügen Menge von Sekunden UNNotificationServiceExtension am Leben ist, fand ich heraus, dass manchmal System don Gib dir nicht mal diese 30 Sekunden.
- 1. Ajax manchmal läuft manchmal nicht
- 2. Webapp läuft sehr langsam manchmal
- 3. CloudKit-Abonnements und UNNotificationServiceExtension
- 4. UNNotificationServiceExtension funktioniert nicht mit Firebase Cloud-Funktionen
- 5. Ungültige Anhangsdatei-URL in UNNotificationServiceExtension
- 6. UNNotificationServiceExtension arbeiten nicht auf iPhone 5 (IOS 10)
- 7. Windows-Timer läuft manchmal doppelt so schnell
- 8. Manchmal läuft Xcode Test auf CLI gibt "Manager nicht bereit"
- 9. Cordova sqlite-Speicher-Plugin-Transaktion (executeSQL) läuft manchmal nicht
- 10. Wie wird das Bild in UNNotificationServiceExtension angezeigt?
- 11. CFWriteStreamScheduleWithRunLoop funktioniert manchmal, manchmal nicht?
- 12. Zeit funktioniert manchmal manchmal nicht
- 13. Scrapy Crawler instabil, manchmal funktioniert manchmal nicht
- 14. Verwenden von UNNotificationServiceExtension für Rich Remote-Benachrichtigungen
- 15. Anruffolge von willPresentNotification mit UNUserNotificationCenter und UNNotificationServiceExtension
- 16. AsyncTask funktioniert manchmal und manchmal nicht
- 17. Bilder manchmal kommen manchmal nicht in eckigJs
- 18. C-Programm stürzt manchmal und manchmal nicht
- 19. Warum wirft `.asInstanceOf 'manchmal und manchmal nicht?
- 20. recyclerview manchmal die Daten blättern, manchmal nicht
- 21. IntentService wird nicht manchmal aufgerufen
- 22. Manchmal wird der Service angerufen und manchmal nicht
- 23. Manchmal wird keine gedruckt - und manchmal nicht, warum nicht?
- 24. pymysql3 cursor.lastrowid funktioniert manchmal nicht
- 25. Angular 2 nicht aktualisieren * manchmal *
- 26. reagiert manchmal nicht rendern?
- 27. uidevicebatteriestateditchangelotification funktioniert manchmal nicht
- 28. Variable nicht definiert, manchmal
- 29. Absicht nicht manchmal gepostet
- 30. ViewCell ForceUpdateSize nicht manchmal
Zuerst habe ich das gleiche, aber nach dem Hinzufügen einiger Protokollierung kann ich sehen, dass der Anruf didReceive nicht protokolliert wird. Entweder wird die Methode überhaupt nicht aufgerufen, oder sie wird beendet, noch bevor ich eine Zeichenfolge in eine Datei schreiben kann. – hedunky