iPhone симулятор и приложение WillTerminate () - PullRequest
11 голосов
/ 15 декабря 2008

Когда мое приложение запускается в симуляторе iPhone, метод делегата

- (void)applicationWillTerminate:(UIApplication *)application

вызывается только при первом нажатии кнопки «Домой» на симуляторе iPhone.

После нажатия кнопки «Домой» и повторного запуска приложения нажатие кнопки «Домой» не вызывает метод делегата.

Что здесь происходит? Я неправильно понимаю что-то фундаментальное?

Ответы [ 2 ]

24 голосов
/ 15 декабря 2008

Я подозреваю, что он вызывается, но вы запутались, потому что после нажатия кнопки «Домой» в симуляторе вы завершили текущий сеанс в XCode. Возможно, у вас NSLog в вашем applicationWillTerminate: методе, да? После нажатия кнопки «Домой» NSLog s больше не отображаются в консоли запуска Xcode. Если вы откроете /Applications/Console.app Я ожидаю, что они там появятся.

4 голосов
/ 07 декабря 2010
- (void)applicationWillTerminate:(UIApplication *)application

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

- (void)applicationDidEnterBackground {

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

...