Próbuję zrobić nową aplikację na iOS w Xcode. Zrobiłem główną scenorys i dodałem etykietę do mojego ViewController. Kiedy uruchamiam moją aplikację, najpierw sekunda pokazuje etykietę, a następnie staje się czarny ekran bez żadnych błędów.
Pracuję nad Xcode 11 (Swift 5) i ten komunikat pojawia się na wyjściu:
[SceneConfiguration] Konfiguracja Info.plist „Konfiguracja domyślna” dla UIWindowSceneSessionRoleApplication zawierała klucz UISceneDelegateClassName, ale nie mogła załadować klasy o nazwie „gina.SceneDelegate”
Nie wiem, gdzie jest mój błąd.
SceneDelegate
cel do mojego celu i zaznaczenie pola to naprawiło.Odpowiedzi:
iOS 13
SceneDelegate
nie jest obsługiwany przed iOS 13 . Jeśli chcesz używać,SceneDelegate
a także chcesz obsługiwać iOS wcześniejszy niż iOS 13 , musisz dodać kilka zmian do swojego projektu.SceneDelegate
metody. Dodaj do nich również atrybut dostępności.UIWindow
obiekt w AppDelegate.swift .iOS 12 i wcześniejsze
AppDelegate
potrzebujeUIWindow
nieruchomości. iOS 13 wykorzystujeSceneDelegate
w nowych projektach. OkreślUIWindow
obiekt i usuń SceneDelegate.swift plik .Jeśli usunąłeś
SceneDelegate
z projektu, musisz usunąć słownik manifestu sceny aplikacji ze strony Info.plist .źródło
Musisz zainicjować okno w następujący sposób:
i dodaj je w info.plist:
To wszystko, co musisz zrobić.
źródło
$(PRODUCT_MODULE_NAME).
rozwiązał mój problem.