🈚

【UIKit】Storyboardを全く使わない【消去】 2023年晩秋

2023/11/07に公開

環境

macOS Ventura 13.6.1
Xcode 15.0.1

プロジェクト作成

Storyboard/SwiftUIの選択ではStoryboardを選択する

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