- Not Running: Приложение еще не запущено или было завершено системой.
- Inactive: Приложение работает на переднем плане, но не получает пользовательские события (например, во время входящего звонка или SMS).
- Active: Приложение работает на переднем плане и активно взаимодействует с пользователем.
- Background: Приложение находится в фоновом режиме, но может продолжать выполнять код (например, для загрузки данных или выполнения фоновых задач).
- Suspended: Приложение находится в фоновом режиме и приостановлено системой для высвобождения ресурсов. Код в этом состоянии не выполняется.
Переходы между состояниями управляются системой и делегатом AppDelegate. Ключевые методы делегата:
application:didFinishLaunchingWithOptions:: Приложение успешно запущено.
applicationWillResignActive:: Переход из Active в Inactive.
applicationDidEnterBackground:: Переход из Inactive в Background.
applicationWillEnterForeground:: Переход из Background в Inactive.
applicationDidBecomeActive:: Переход из Inactive в Active.
applicationWillTerminate:: Приложение вот-вот завершится.