Симулятор iPhone и приложениеWillTerminate()
Когда мое приложение запускается в симуляторе iPhone, метод делегата
- (void)applicationWillTerminate:(UIApplication *)application
называется только в первый раз, когда я нажал кнопку iPhone для симулятора iPhone.
После нажатия кнопки "домой" и повторного запуска приложения, нажатие кнопки "домой" не вызывает метод делегата.
Что здесь происходит? Я что-то недопонимаю?
Ответы
Ответ 1
Я подозреваю, что он вызывается, но вы путаетесь, потому что после нажатия кнопки "Главная" в симуляторе вы закончили текущий сеанс в Xcode. Вероятно, у вас есть NSLog
в вашем методе applicationWillTerminate:
, да? Как только вы нажмете кнопку "Домой", NSLog
больше не отображается в консоли запуска Xcode. Если вы откроете /Applications/Console.app
, я ожидаю, что они появятся там.
Ответ 2
- (void)applicationWillTerminate:(UIApplication *)application
вызывается, когда приложение "завершается".
Если вы используете iOS, приложение не будет завершено при нажатии кнопки "Домой", если вы не отключили многозадачность для своего приложения, или у пользователя нет устройства с поддержкой нескольких задач.
- (void)applicationDidEnterBackground {
теперь используется, когда пользователь нажимает кнопку "домой". Если (как я уже говорил ранее) вы отключили многозадачность для своего приложения или у пользователя нет устройства с поддержкой нескольких задач.