Конфигурация Info.plist "(без имени)" для UIWindowSceneSessionRoleApplication - PullRequest
1 голос
/ 28 февраля 2020

Я получаю следующее предупреждение, и приложение показывает черный экран для iOS 13

[SceneConfiguration] Info.plist конфигурация "(без имени)" для UIWindowSceneSessionRoleApplication содержал ключ UISceneDelegateClassName, но не смог загрузить класс с именем MyApp.SceneDelegate .

Как я могу решить эту проблему?

1 Ответ

4 голосов
/ 28 февраля 2020

SceneDelegate поддерживается после iOS 13. Если вы хотите использовать SceneDelegate, а также хотите поддержать iOS до iOS 13, вам нужно внести некоторые изменения в ваш проект.

Выполнить SceneDelegate, если доступно iOS 13.

Код:

@available(iOS 13.0, *)

class SceneDelegate: UIResponder, UIWindowSceneDelegate {
   //Other code
}


@available(iOS 13.0, *)
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {

}

Добавить объект UIWindow в AppDelegate.swift

class AppDelegate: UIResponder, UIApplicationDelegate {    
    var window: UIWindow?
}

Для iOS 12 и более ранних версий

AppDelegate необходимо свойство UIWindow. iOS 13 использует SceneDelegate в новых проектах. Укажите объект UIWindow и удалите файл SceneDelegate.swift.

Если вы удалили SceneDelegate из проекта, то необходимо удалить словарь манифеста сцены приложения из Info. plist.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...