Какой основной файл создается при запуске iOS-приложения?

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

Ответ

Основным файлом, создаваемым при запуске iOS-приложения, является AppDelegate.swift. Он отвечает за жизненный цикл приложения и обработку системных событий.

Роль AppDelegate:

  • Точка входа в приложение (до iOS 13 — единственная).
  • Обработка ключевых событий: запуск, переход в фон/активное состояние, получение push-уведомлений, сохранение состояния.
  • Настройка окружения при старте.

Пример минимального AppDelegate:

import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Конфигурация при запуске
        return true
    }
}

Эволюция с iOS 13:

  • Для поддержки многозадачности (несколько окон) появился SceneDelegate.swift, который управляет жизненным циклом UI-сцен.
  • AppDelegate остаётся ответственным за события, не связанные с UI (например, регистрация push-токенов).

SwiftUI:

  • В SwiftUI по умолчанию используется декларативный подход с атрибутом @main у структуры приложения.
  • AppDelegate можно добавить через UIApplicationDelegateAdaptor для обработки событий жизненного цикла.