2016-12-02 14 views
0

Каковы возможности у меня есть, когда я получу UIApplicationWillTerminateNotification? Я хочу выполнить задачу данных, чтобы отправить некоторые данные на мой удаленный сервер, но если я попытаюсь вызвать метод, который выполняет этот процесс, выполнение останавливается прямо там, и оно не вызывается. Я могу делать основные вещи, такие как ввод текста или данных, используя NSLog, но я не могу сделать ничего сложнее, чем это? Возможно ли, и если да, то как мне это сделать?Ограничения UIApplicationWillTerminateNotitication?

+0

Вы должны сохранять данные, когда ваше приложение входит в фоновый режим, а не когда оно собирается быть убитым. – rmaddy

+0

@rmaddy Ну, во-первых, я не хочу сохранять данные, мне нужно запустить очень специфичный для приложения фоновый процесс, когда мое приложение не активно на переднем плане (так или в фоновом режиме или полностью убито). Этот процесс нужно инициировать ОБА, когда мое приложение входит в фоновый режим И когда мое приложение будет убито? Как бы вы справлялись со сценарием, в котором пользователь сразу же убивает ваше приложение, не вдаваясь в фон? Тогда все данные будут потеряны, не так ли? –

+0

", в котором пользователь сразу же убивает ваше приложение, не вдаваясь в первый раз" Если пользователь убивает ваше приложение, ваше приложение было дезактивировано, по крайней мере. – matt

ответ

0

Основное ограничение UIApplicationWillTerminateNotification заключается в том, что вы, вероятно, будете никогда его получить. В основном это не стоит регистрироваться.

+0

Он вызывается каждый раз, когда я убью свое приложение. Вероятно, вы сбиваете с толку уведомление с помощью метода делегата 'applicationWillTerminate', который на самом деле почти никогда не вызван (в принципе никогда). Уведомление, однако, ВСЕГДА получено. –

+0

Интересно. В этом случае вы должны понизить мой ответ! Я просто ошибаюсь (если вы говорите правду). Я должен буду исследовать дальше. – matt

+0

Я верю, что он будет вызван, если приложение будет убито, если оно находится на переднем плане, но неактивно (т. Е. Дважды щелкнуть и сразу проведите по экрану в вашем приложении), но нет, если он приостановлен (т.е. вы используете какое-то другое приложение на переднем плане, дважды щелкните и прокрутите страницу до вашего приложения и проведите по экрану вверх) – Paulw11