Xcode 11、Beta 5を使用してiOS 13のルートビューコントローラーを手動でセットアップしました。info.plistでmainへの参照を削除するなど、展開情報でmainへの参照を削除しました。ウィンドウは、SceneDelegateで実行され、willConnectTo関数にネストされます。通常、ステップを逃した場合、アプリはクラッシュします。今、私は私のビューコントローラーが何のために設定されているのか、例えば赤い背景を見るのではなく、空白の黒い画面を取得しています。これらはすべて、ベータ5より前のバージョンで機能します。
シミュレータですべてのコンテンツと設定を消去しました。ビルドフォルダーをクリアし、物理デバイスでアプリを実行しました。 Xcode 11、ベータ5を搭載した別のコンピューターも使用しました。すべての結果が同じ空白の黒い画面になります。何が欠けていますか?
以下は、willConnectTo関数にネストされたSceneDelegateファイルのルートビューコントローラーの手動設定です。
let viewCon = ViewController()
window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = viewCon
window?.makeKeyAndVisible()
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
let window = UIWindow(windowScene: windowScene)
self.window = window
let mainstoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewcontroller:UIViewController = mainstoryboard.instantiateViewController(withIdentifier: "YourVCName") as! YourVCName
navigationController = UINavigationController(rootViewController: newViewcontroller)
window.rootViewController = navigationController
window.makeKeyAndVisible()
}
このコードを試してください!! iOS 13を使用していて、xcodeが更新されている場合は、ルートコントローラーをアプリデリゲートではなくシーンデリゲートに設定する必要があります。