2013-03-20 4 views
5

Wenn App ~ 10 min im Hintergrund abgeschlossen ist, wird es im suspendierten Modus sein. App kann unter zwei Möglichkeiten getötet werden:Wie können wir überprüfen, die iOS-App von Benutzer oder iOS getötet

  1. iOS kann die App töten: In diesem Szenario "applicationWillTerminate" nennen.

  2. Benutzer können Apps töten explizit das Multitasking-UI (durch Doppelklick auf Home Button und drückt - Taste (rot)).

Im zweiten Szenario, wie können wir diese App vom User getötet werden?

prüfe ich eine Frage unten aber kein fruchtbares Ergebnis: App killed by user

+3

Setzen Sie ein NSUserDefaults Flag, wenn Ihre Hintergrundaufgabe erledigt ist. Wenn die Flagge beim nächsten Start nicht vorhanden ist, wurde Ihre App beendet, bevor sie das Ende der Hintergrundaufgabe erreicht hat. –

Antwort

13

Wenn Ihre Anwendung in suspendiertem Zustand ist die applicationWillTerminate nie unabhängig aufgerufen, die die App iOS oder Benutzer getötet.

Ihr applicationWillTerminate ruft nur an, wenn Ihre App im Hintergrund ist und wird beendet (entweder von iOS oder Benutzer). Der Begriff Hintergrund bedeutet, dass er im Hintergrund ausgeführt wird und nicht im Schwebezustand ist.

Lesen Sie einfach this reference

applicationWillTerminate: Hiermit können Sie wissen, dass Ihre App beendet wird. Diese Methode wird nicht aufgerufen, wenn Ihre App gesperrt ist. Hier

ist die Tabelle der verschiedenen Staaten enter image description here

Background - Die App ist im Hintergrund und Ausführen von Code. Die meisten Apps betreten diesen Zustand kurzzeitig auf ihrem Weg zum Aussetzen. Eine App, die zusätzliche Ausführungszeit erfordert, kann jedoch für eine gewisse Zeit in diesem Status verbleiben. Außerdem tritt eine App, die direkt in den Hintergrund gestartet wird, in diesen Zustand statt in den inaktiven Status. Weitere Informationen zum Ausführen von Code im Hintergrund finden Sie unter Hintergrundausführung.

+0

Der Referenzlink funktioniert jetzt nicht. –

+0

gerade bearbeitet - den Link repariert. –

+0

Ich habe ein Problem, bei dem meine App ein Login-Token verliert, wenn die App im Hintergrund verbleibt, und ich versuche, sie nach einer langen Zeit zu öffnen. Der Token wird nur dann korrekt gespeichert, wenn der Benutzer die App beendet. Daraus folge ich, dass es einen Trick bei ApplicationWillTerminate gibt, da es einen Unterschied gibt, je nachdem, wer die App tötet. Ich habe die Dokumentation gelesen, habe sie aber immer noch nicht klar. Irgendwelche Ideen? Welche Delegiertenmethode würden Sie empfehlen? Vielen Dank. – Josh

Verwandte Themen