Использование метода applicationWillTerminate не работает - PullRequest
1 голос
/ 29 октября 2010

Я хочу сохранить некоторые данные о состоянии приложения, когда пользователь выходит из приложения.Я думаю, что мне следует использовать метод applicationWillTerminate внутри моего appDelegate, но когда я пытаюсь что-то там делать, он ничего не делает:

- (void) applicationWillTerminate:(UIApplication *)application {
NSLog(@"test");
 }

Когда я запускаю свое приложение и делаю что-то,и нажмите кнопку «Домой», чтобы выйти из приложения, через консоль ничего не приходит ...

Нужно ли реализовывать метод applicationWillTerminate в appDelegate?Скорее всего, пользователь моего приложения будет в представлении Reader, когда он уйдет, есть ли способ реализовать приложение, которое закроет там метод?

Ответы [ 2 ]

2 голосов
/ 29 октября 2010

В iOS 4 метод applicationWillTerminate: вызывается только в случае отказа от фоновой модели выполнения.В стандартном жизненном цикле приложений iOS 4 приложения приостанавливаются (не прекращаются) при нажатии кнопки «Домой».Ваш представитель приложения получит сообщение applicationWillResignActive:, за которым следует сообщение applicationDidEnterBackground:.Метод applicationDidEnterBackground: является хорошим местом для сохранения пользовательских данных.

2 голосов
/ 29 октября 2010

см. Эту ссылку Симулятор iPhone и приложениеWillTerminate () для более старых версий iOS;

, но помните, что кнопка «Домой» не обязательно завершает приложение ios4 ... вы должны использовать applicationDidEnterBackground, но предложите оба места applicationWillTerminate и applicationDidEnterBackground

Добавление UIApplicationExitsOnSuspend ключ к файлу Info.plist вашего приложения и установка его значения на YES заставит ваше приложение завершиться, когда вы нажмете кнопку home, даже на iOS4

...