アプリを起動したときに読み込まれるStoryboardを設定する(忘備録)


1. Storyboardファイルを作成

New File...からStoryboardを選択してCreateする

2. ViewControllerのClassを作成

FirstViewController.swift
class FirstViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
  }

3. Storyboardの設定

  • StoryboardのClassを指定
  • StoryBoard IDを入力(Class名と同じでOK)
  • Use StoryBoard IDにチェックを入れる

4. SceneDelegateの"willConnectTo"にコードを追記

SceneDelegate.swift
  func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {

    //初期の画面を設定することができる(ここに記載された方が優先される)
    let window = UIWindow(windowScene:  scene as! UIWindowScene)
    self.window = window
    //レシーバを前面に表示してキーボード等のイベントを受け付けるようにする
    window.makeKeyAndVisible()

    //表示させるStoryBoardを指定(First.storyboardの場合)
    let storyboard = UIStoryboard(name: "First", bundle: nil)
    //StoryboardIDを指定
    let viewController = storyboard.instantiateViewController(identifier: "FirstViewController")
    //navigationBarがある場合
    //(ない場合はそのままrootViewControllerにviewControllerを設定する)
    let nav = UINavigationController(rootViewController: viewController)
    //UIWindowのrootViewControllerに設定 
    window.rootViewController = nav

    guard let _ = (scene as? UIWindowScene) else { return }
  }

5. Main Interfaceの値“Main”を削除


Mainの値を削除してReturnを押す

6. info.plistのStoryboard Name (Main)を項目ごと削除


選択してdeleteを押すか、マイナス(-)をクリック

7.使わないファイルを削除

Main.storyboardやViewController.swiftを使わない場合は削除する。

[環境]
Xcode Version 12.2