Ответ 1
Если ваше приложение приостановлено, applicationWillTerminate
никогда не будет вызвано независимо от того, кто убил приложение iOS или пользователя.
Ваш applicationWillTerminate
будет вызываться только тогда, когда ваше приложение находится в фоновом режиме и оно будет убито (либо iOS, либо пользователем). Термин background означает, что он работает в фоновом режиме, не находящемся в состоянии приостановления.
Просто прочитайте эту ссылку
applicationWillTerminate: -Позволяет вам знать, что ваше приложение завершается. Этот метод не вызывается, если ваше приложение приостановлено.
Вот таблица различных состояний
Фон - приложение находится в фоновом режиме и выполняет код. Большинство приложений входят в это состояние ненадолго на пути к приостановке. Однако приложение, запрашивающее дополнительное время выполнения, может оставаться в этом состоянии в течение определенного периода времени. Кроме того, приложение, запущенное непосредственно в фоновом режиме, входит в это состояние вместо неактивного состояния. Сведения о том, как выполнять код в фоновом режиме, см. В разделе "Выполнение фона".