🔨

デフォルト生成されるViewControllerとMain.storyboardとSceneDelegateを使わないときの初期設定

2022/03/07に公開

業務でプロジェクトを進める際は、画面ごとにViewControllerとそれに紐づくxibファイルを生成するので、基本的にstoryboardを使用しておりません。

今回は、新しくプロジェクトを生成した際の初期設定を備忘録的にまとめます!

初期設定の手順(順不同)

storyboardの削除

まず、Main.storyboardを削除

Xcode14以前の場合

Main Interfaceに設定されているMainの文字列を削除
(Mainは、先ほど削除したMain.storyboardのことを示しています)

Xcode14.1以降の場合

Targets > Info > Main storyboard file base name を項目ごと削除

SceneDelegateの削除

SceneDelegate.swiftを削除

次に、Info.plistのApplication Scene Manifestを削除
(Sceneを利用しないのでこの項目が丸々不要になります)

ViewControllerの削除

とりあえずViewController.swiftを削除

AppDelegateの編集

まず、UISceneSessionに関するファンクションを削除
(SceneDelegateを使用しないため)

次に、UIWindow?型の変数を定義し、rootViewControllerを設定する
(デフォルト生成されたViewController.swiftを使用しないため)

import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions
        launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        window = UIWindow()
	// 起動時に表示したいViewControllerを設定
        window?.rootViewController = SelectFavoriteBreakfastViewController()
        window?.makeKeyAndVisible()
        return true
    }
}

これで初期設定は完了です。
実行して、window?.rootViewControllerで設定したViewControllerが表示されていればOKです!

Discussion