Иногда вы получаете UIApplicationWillTerminateNotification
(вы также можете реализовать метод applicationWillTerminate:
в своем делегате приложения), но это не гарантирует, что вы вообще получите какое-либо уведомление в этом случае.Поэтому не надейтесь на это.
Вы не получите уведомление, если ваше приложение «приостановлено», то есть оно работает в фоновом режиме, но не работает.В приостановленном случае вы просто убиваетесь с неуловимым SIGKILL
.То же самое, когда вас убивают из-за нехватки памяти.
Из документации для applicationWillTerminate:
(выделено мое):
Для приложений, которые не поддерживают фоновое выполнениесвязаны с iOS 3.x или более ранней версией, этот метод всегда вызывается, когда пользователь выходит из приложения.Для приложений, которые поддерживают фоновое выполнение, этот метод обычно не вызывается, когда пользователь выходит из приложения, потому что в этом случае приложение просто переходит в фоновый режим.Однако этот метод может вызываться в ситуациях, когда приложение работает в фоновом режиме ( не приостановлено ), и система должна прервать его по некоторым причинам.