I have some code in my AppDelegate
’s applicationWillTerminate:
method but I don’t know how to test if it works. Using Xcode to stop the simulator does not trigger it.
How do I test the code in applicationWillTerminate:?
Please note that this is specific to the simulator and not the device.
The simulator doesn't send
applicationWillTerminate:
because the springboard isn't sending you the kill code (SIGABRT), LLDB is. To trigger those delegate methods, you have to use the Home Button command (⌘+⇧+H), then pull up the multitasking drawer and kill your application from there. Your debugging session will immediately terminate, and the delegate method will fire successfully.In iOS 9.1 (perhaps before) this only seems to work if you double click home and drag the app up so it exits. Doing it from the desktop doesn't fire this event, it has to happen while the app is open in the simulator.