Когда вызывается и для чего нужен метод applicationWillResignActive?

«Когда вызывается и для чего нужен метод applicationWillResignActive?» — вопрос из категории UIKit, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Метод applicationWillResignActive(_:) делегата приложения вызывается, когда приложение перестает быть активным (переходит из foreground в промежуточное состояние), но еще не ушло в background.

Типичные триггеры: входящий звонок, появление уведомления, открытие Control Center или шторки уведомлений.

Цель метода: Быстро подготовить приложение к временной неактивности.

Что следует делать:

  • Приостановить активные задачи (анимации, таймеры, игры).
  • Остановить воспроизведение аудио/видео.
  • Сохранить критичные пользовательские данные (прогресс, настройки).
  • Скрыть конфиденциальную информацию (например, в банковском приложении).

Пример:

func applicationWillResignActive(_ application: UIApplication) {
    // Приостанавливаем игровой процесс
    gameEngine.pause()
    // Скрываем чувствительные данные
    secureView.isHidden = true
    // Быстро сохраняем контекст
    DataManager.saveCurrentContext()
}

Важно: Не выполнять долгие операции. Система дает ограниченное время перед возможным переходом в фоновый режим или завершением.