Как я могу имитировать приложение, убитое в фоновом режиме?
Я пытаюсь проверить, правильно ли работает приложение (App1), когда оно закрывается системой после запуска другого приложения (App2). Есть ли способ имитировать или заставить это поведение?
Говорить симулятору, чтобы имитировать предупреждение о памяти во время работы App2, ничего не делает, пока App1 не вернется на передний план. Убивает ли App1 из отладчика симуляцию той же последовательности событий приложения?
EDIT: мое приложение помещается в фоновом режиме, когда оно запускает второе приложение для обработки файла. Затем это второе приложение перезагружает мое приложение, и я пытаюсь проверить, правильно ли работает приложение, когда система закрыла его, пока выполняется второе приложение.
Ответы
Ответ 1
Да, если ваше приложение уже находится в фоновом режиме. Приложение, убитое системой, в то время как в фоновом режиме завершено без предупреждения - не вызываются методы делегата приложения, никаких изменений состояния не происходит - это именно то, что происходит, когда вы останавливаете отладчик, когда приложение находится в фоновом режиме. (Это предполагает, что вы уже разместили свое приложение в фоновом режиме, нажав кнопку "Главная" на симуляторе или Cmd-Shift-H)
(Как отмечает @Inafziger, вы также можете получить тот же эффект, используя интерфейс симулятора, чтобы заставить выйти из работающего приложения.)
Ответ 2
Как следует из других ответов, вы можете немедленно закрыть приложение, отбросив его или прекратив отладчик. Ваше приложение не получит предупреждения в этих случаях.
Если вы хотите протестировать свои методы applicationWillTerminate
, установите UIApplicationExitsOnSuspend
в YES
в свой .plist, а затем переключите приложения или нажмите домашнюю кнопку. Убедитесь, что вы установили ключ в значение Boolean, а не строку "YES".
Ответ 3
Вы должны уметь:
- Нажмите кнопку "домой", чтобы перейти на главный экран.
- Дважды нажмите кнопку "домой" (используйте комбинацию клавиш в симуляторе)
- Нажмите и удерживайте значок внизу, пока он не начнет покачиваться.
- Коснитесь круга круга
-
, чтобы удалить его из памяти
Это дает вам методы делегирования приложения в фоновом режиме и т.д. Так оно работает в iOS 6 и ниже.