I\'m trying to verify that my app (App1) behaves correctly when it is shut down by the system after it launches another app (App2). Is there any way to simulate or force this be
Enable Settings - Developer - Fast App Termination on the device:
This will terminate, instead of suspend, your app when they're backgrounded. This is useful primarily for testing state restoration logic.
As the other answers note, you can immediately end your app by force-quitting it or by stopping the debugger. Your app will get no warning in those cases.
If you're looking to test your applicationWillTerminate
methods, set UIApplicationExitsOnSuspend
to YES
in your .plist and then switch apps or press the home button. Make sure you set the key to a Boolean, not the string "YES".
I know this is a couple of years old, but wanted to share if anyone else is looking into this now. Try the following steps:
If you were running the app from Xcode you should see Message from debugger: Terminated due to signal 9
You should be able to:
-
to remove it from memoryThis gives you the app delegate methods of going into the background, etc. This is how it works in iOS 6 and below.
Yes, if your app is in the background already. An app killed by the system while in the background is terminated with no warning-- no app delegate methods are called, no state changes are made-- which is exactly what happens when you do a debugger stop while the app is in the background. (This presupposes that you've already put your app in the background by clicking the home button on the simulator or Cmd-Shift-H)
(As @Inafziger notes, you can also get the same effect by using the simulator's interface to force quit the running app.)