2012-12-29 1 views
9

Ich habe einen Code in meiner AppDelegateapplicationWillTerminate: Methode, aber ich weiß nicht, wie man testet, wenn es funktioniert. Die Verwendung von Xcode zum Stoppen des Simulators löst ihn nicht aus.Warum stoppt eine Anwendung im iOS-Simulator nicht applicationWillTerminate :?

Wie teste ich den Code in applicationWillTerminate :?

Bitte beachten Sie, dass dies spezifisch für den Simulator und nicht für das Gerät ist.

+0

Vielleicht töten Sie es. Seit iOS 4 werden Apps nicht beendet, wenn sie beendet werden. Sie werden nur angehalten. –

+0

Der Code in dieser Methode sollte wahrscheinlich in 'applicationDidEnterBackground:' sein - was macht er? – jrturton

+0

Es synchronisiert die NSUserDefaults. Ich habe es auch in 'applicationDidEnterBackground:' geschrieben. – duci9y

Antwort

12

Der Simulator sendet applicationWillTerminate: nicht, da das Sprungbrett Ihnen nicht den Kill-Code (SIGABRT) sendet, LLDB ist. Um diese Delegate-Methoden auszulösen, müssen Sie den Home Button-Befehl (⌘ + ⇧ + H) verwenden, dann die Multitasking-Schublade hochziehen und Ihre Anwendung von dort beenden. Ihre Debugging-Sitzung wird sofort beendet und die Delegate-Methode wird erfolgreich ausgelöst.

+0

Vielen Dank, es funktioniert! – duci9y

+0

Jederzeit. Prost! – CodaFi

+6

Leider nicht die Geschäfte in iOS 9.1 –

0

In iOS 9.1 (vielleicht vorher) scheint dies nur zu funktionieren, wenn Sie auf Home doppelklicken und die App nach oben ziehen, so dass sie beendet wird. Wenn Sie dieses Ereignis vom Desktop aus starten, wird dieses Ereignis nicht ausgelöst. Es muss geschehen, während die App im Simulator geöffnet ist.

enter image description here