Эти два файла предназначены для разделения работы на то, что необходимо для запуска приложения в целом, и то, что необходимо для одного «экземпляра», который бы поддерживал работу в фоновом режиме.Это может быть что-то вроде настройки базы данных один раз, но с отображением разных наборов значений по окнам.
Вы можете думать о них как о глобальной и частной версиях.Один является общим, а другой - отдельным владельцем.В некотором смысле, это именно то, что вы ожидаете от имен.
Поддержка нескольких окон
В следующий раз, когда вы создадите новый проект Xcode, вы увидите свой AppDelegateразделен на две части: AppDelegate.swift и SceneDelegate.swift.Это результат новой многооконной поддержки, реализованной в iPadOS, которая эффективно разделяет работу делегата приложения на две части.
Начиная с iOS 13, ваш делегат должен:
- Установите любые данные, которые вам нужны на время работы приложения.
- Отвечайте на любые события, связанные с приложением, такие как файл, которым вы делитесь с вами.
- Регистрация для внешних служб, таких как push-уведомления.
- Настройка начальногосцены.
Напротив, делегаты сцены предназначены для обработки одного экземпляра пользовательского интерфейса вашего приложения.Таким образом, если пользователь создал два окна, в которых отображается ваше приложение, у вас есть две сцены, каждая из которых поддерживается одним и тем же делегатом приложения.
Помните, что эти сцены предназначены для работы независимо друг от друга.Таким образом, ваше приложение больше не перемещается на фон, а вместо этого - отдельные сцены - пользователь может переместить одну на фон, оставив другую открытой.
Предоставлено https://www.hackingwithswift.com/articles/193/whats-new-in-ios-13