Ich versuche eine lokale Benachrichtigung auszulösen, nachdem meine App beendet wurde, um den Benutzer zu warnen, dass die App nicht funktioniert nicht mehr. Ähnlich verhält sich MileIQ bei der Verfolgung von Hintergrundlokationen, wenn der Benutzer gewarnt wird, dass die App gelöscht wurde, und dass er sie neu starten muss, wenn die Auslösung von Fahrten noch aufgezeichnet werden soll.So stellen Sie sicher, dass eine lokale iOS-Benachrichtigung zugestellt wird * nach * der App wird beendet
Mein Code sieht wie folgt in einem Handler:
let notification = UILocalNotification()
notification.soundName = UILocalNotificationDefaultSoundName
notification.alertTitle = "title"
notification.alertBody = "body"
notification.fireDate = NSDate().dateByAddingTimeInterval(6)
UIApplication.sharedApplication().scheduleLocalNotification(notification)
Die Magie fireDate
Verzögerung auf 6 Sekunden eingestellt ist, weil applicationWillTerminate
5 seconds to the app to cleanup hat und iOS tötet die App, wenn das Verfahren nicht rechtzeitig zurück.
Was ich festgestellt habe ist, dass wenn ich die lokale Benachrichtigung sofort fire, erscheint es sehr kurz und wird entlassen, wenn die App von iOS getötet wird. Wenn Sie eine Verzögerung von 6 hinzufügen, erscheint die Benachrichtigung etwa 50% der Zeit und wird nicht abgewiesen.
Was ich suche ist eine zuverlässige Lösung, um diese lokale Benachrichtigung zu zeigen nach die App wird getötet. Irgendeine Idee, wie man das macht?
Wie töten Sie die App. applicationWillTerminate wird nicht zuverlässig ausgeführt, wenn Sie mit dem App-Switcher – Paulw11
@ Paulw11 töten Die App wird manuell vom App-Manager beendet (drücken Sie zweimal die Home-Taste). Es ist mir egal, dass das Betriebssystem die App selbst zerstört. –