So I know this has been beaten to death but I still can\'t figure out a solution.
I have my UIApplicationExitsOnSuspend set to
in the Info.pli
Did you do a clean build, delete the app from both the simulator and the device, and re-install? That's the only key that affects it. Also, make sure you are building with base SDK set to iOS 4.0.
UIApplicationExitsOnSuspend (Boolean - iOS) specifies that the application should be terminated rather than moved to the background when it is quit. Applications linked against iPhone SDK 4.0 or later can include this key and set its value to YES to prevent being automatically opted-in to background execution and application suspension. When the value of this key is YES, the application is terminated and purged from memory instead of moved to the background. If this key is not present, or is set to NO, the application moves to the background as usual.
I had the same problem that Cyril identifies: I pasted "YES" in as the value, but that made the key default to String instead of "Boolean". So right-click the key and make sure its type is Boolean.
I had the same problem, when you add the key UIApplicationExitsOnSuspend, make sure you right click on it and select value type > Boolean. Otherwise Xcode will ignore it. Hope it helps
This appears to have changed (for the better) in Xcode4 / iOS 4.3. The boolean is now "Application does not run in background", and - well - it works for me.
Setting YES to UIApplicationExitsOnSuspend , worked well for me from the first time,But i didn realize,as my app was shown when double-clicking.
"double-clicking on the home button will always show your app , as it is a list of recently used apps. ( Ref: http://www.apple.com/iphone/features/multitasking.html ) "
If applicationWillTerminate delegate method is called, then you are done with that.. (Add a break point or NSLog to check )
Just a tip. Hope this helps some one like me..;)
It's important to note that your AppDelegate's "applicationDidEnterBackground" and "applicationWilLTerminate" methods are both called (in that order), even if your UIApplicationExitsOnSuspend is marked as (boolean) "YES".