Take the 2-minute tour ×

I have an iphone app, and I need to capture some data right as the app is about to close...

Is it possible to associate a method call with the clicking of the iphone home button? So that I can get the most recent and current data of a particular type that I can?

share|improve this question
add comment

2 Answers

up vote 3 down vote accepted

There's a few callbacks that get sent to the application delegate depending on the type of "close".

- (void)applicationWillResignActive:(UIApplication *)application;


- (void)applicationDidEnterBackground:(UIApplication *)application;

Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. If your application supports background execution, called instead of applicationWillTerminate: when the user quits.

- (void)applicationWillTerminate:(UIApplication *)application;

Called when the application is about to terminate.

share|improve this answer
Additional Note - these can all be registered for at NSNotificationCenter if you need to be alerted in something other than the appDelegate –  Jbonniwell Oct 29 '10 at 2:30
add comment

The applicationWillResignActive delegate is a good place to save data before an app closes, but may be called when the app is only going to be temporarily interrupted, or stored in the background for an indeterminate period.

Under iOS 4.0 and later, applicationWillTerminate is not called, even if the app is about to be killed while in the background. So it's really only useful for some added iOS 3.x support.

share|improve this answer
add comment

Your Answer


