В iOS4 applicationWillTerminate обычно не вызывается для приложений, поддерживающих фоновое выполнение.Возможно, именно поэтому у вас возникла проблема.
Если она отключена, вы можете зарегистрировать свои объекты для прослушивания уведомления UIApplicationWillTerminateNotification и / или переопределить метод -applicationWillTerminate: делегата приложения и поместить свой кодтам:
//set up this class as an observer of UIApplicationWillTerminateNotification
//so we can intervene when the app is about to exit.
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(applicationWillTerminate:)
name:UIApplicationWillTerminateNotification
object:[UIApplication sharedApplication]];