2015-06-24 10 views
6

Es scheint, dass UILocalNotifications, die von unserer App geplant werden, auch dann ausgelöst werden, wenn die App mit der Produktions-App überschrieben wird (OK, erwartetes Verhalten), aber auch wenn die App deinstalliert und dann erneut installiert wird. Hat das jemand erlebt? (Ich überprüfe und behalte die Frage als Referenz, habe keine Duplikate gefunden).Bleiben UILocalNotifications nach der Deinstallation/Aktualisierung bestehen?

Antwort

6

Art von ... sie bestehen nach Unistall der App wahrscheinlich für einige Stunden, aber sie sind nicht gefeuert.
Sie können selbst testen, starten Sie Ihre App im Debug-Zeitplan einige Benachrichtigungen, löschen Sie die App, installieren Sie die App erneut und fragen UIApplication für die geplanten Benachrichtigungen. Du solltest sie wiedersehen.
Ich denke, dass Apple dieses Muster erstellt, um versehentliche Uninstallationen zu vermeiden.
Wenn Sie sie löschen möchten, erstellen Sie ein BOOL-Flag in NSUserDefault, um zu verstehen, ob es die App zum ersten Mal ist. Wenn dies der Fall ist, löschen Sie alle Benachrichtigungen.
NSUSerDefault bleibt nicht nach unistall bestehen (Keychain ja), wenn Sie also die App löschen, können Sie sicher sein, dass bei der nächsten Installation Benachrichtigungen gelöscht werden.

+1

So scheint es, dass sie auch gefeuert werden (Ich habe versucht, auf iOS 8.3, Verzögerung von zwei Minuten seit der ersten Planung zu deinstallieren). – Fr4ncis

+0

Nach meiner Erfahrung habe ich das Verhalten der Unplanungszeit nach der Deinstallation gesehen, aber nicht die Zündung. Und die Tatsache, dass du Beweise dafür hast, macht mir Angst :) – Andrea

0

Wenn unter iOS 8.3 eine UILocalNotification mit zwei Minuten Verzögerung geplant wird, wird die App deinstalliert und erneut installiert, die Benachrichtigung wird ausgelöst.

Verwandte Themen