Привет, я прочитал несколько вопросов о SO о вызове applicationWillTerminate и не вызванном вызове.
Я хотел обобщить то, что понял, поскольку есть несколько сообщений, которые говорят по-другому.
-
Для IOS (без многозадачности) он вызывается всегда, когда нажата кнопка home.
-
Для IOS 4 и выше
а. он не вызывается при нажатии кнопки "домой" (при перемещении приложения к фону)
б. он вызывается при закрытии приложения из многозадачной док-станции и если у приложения есть внезапный флаг завершения в инфо.плите, отключен иначе, он не вызывается. (я установил "Приложение должно получать события App Died", и даже тогда при закрытии приложения из многозадачной док-станции функция завершения не вызывалась)
Основываясь на этом, у меня было несколько вопросов.
Является ли хорошей практикой устанавливать приложение, чтобы получить флаг App Died events? (Я установил "Приложение должно получать App Died events", и даже тогда при закрытии приложения из многозадачной док-станции функция завершения не вызывалась)
или
Является ли регистрация для "UIApplicationWillTerminateNotification" лучше, чем настройка info.plist?
В принципе, мне нужно сделать некоторую работу только тогда, когда приложение завершается, а НЕ, когда оно перемещается на задний план.
или
ИЗМЕНИТЬ (1): Когда приложение завершается, в APP отправляется следующее. Как его поймать?
Программный сигнал: "SIGKILL".
РЕДАКТИРОВАТЬ (2):
Обратите внимание: он не вызывается в IOS 4 и выше при удалении из многозадачной док-станции. Вы можете подумать, что это так. Но в моем случае это не так.
Я спрашиваю, знает ли кто-нибудь почему? Есть что-то еще, что мне не хватает.
Также обратите внимание, что я устанавливаю "Приложение должно получать события App Died", и даже тогда его не вызывают.
ИЗМЕНИТЬ (3):
Ответ на следующий вопрос также не помог. applicationWillTerminate не запускается
Кто-нибудь сталкивается с подобной проблемой, как я?