🈚
【UIKit】Main Storyboardを全く使わない【消去】 2023年晩秋
環境
macOS Ventura 13.6.1
Xcode 15.0.1
プロジェクト作成
Storyboard/SwiftUIの選択ではStoryboardを選択する
Main Storyboard削除
削除する。
「Main.storyboardを使う設定」を消去
消すところは 2箇所 ある。
ターゲットのInfoタブ
ターゲット設定のInfoタブでMain storyboard file base nameを削除
info.plist
info.plist(独立したひとつのファイルになっているやつ)でStoryboard Nameを削除
Main.storyboardの設定を消すところは上のように2つあるが、この2つを 上の順番とは逆の順番でやったらエラー (Info.plistを2箇所で設定するな)が出た。
RevertするとInfo.plistが元に戻ってターゲットのInfoタブの設定は消去が実行された。
SceneDelegate.swift
Storyboardを削除したのでアプリがどう立ち上がるかを改めて設定しないといけない。
SceneDelegate.swiftの
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)
に
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
window?.windowScene = windowScene
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
を書く。Xcode 15.0.1の時点ではそこには元々1行あるので注意する。ViewController()
は各自のものに変える。
トラブル
消したのに「Main.storyboardがありませんエラー」が出てくるとき、
- ビルドセッティング UIKit Main Storyboard File Base Name
- ターゲット設定のInfoタブ
- info.plist
の3箇所をチェックする。
Discussion