はじめに
Xcode11はSwiftUIやiPadOS向けのマルチタスク強化などあり、環境変化があると思います。
今回は、アプリの開発要件がiOS12以降などの場合にどうすればいいのかを手順書みたいにまとめます。
実際にやってみる
今回は、iOS12.0以降にする前提で進めます。
githubにサンプルプロジェクトをアップしていますのであわせて参考にしてください。
(手順ごとにコミットを分けています。)
手順1 iOS Develoyment Targetを変更する
プロジェクト設定のInfoタブより iOS Develoyment Target の項目を12.0にします。
手順2 ビルドエラー箇所を修正する
iOS13以前で非サポートメソッドが全てエラーとなります。
@available(iOS 13.0, *)
をつけてビルドエラーを解決します。
詳しい変更箇所は、githubのcommitログ を参考にしてください。
手順3 デバックウィンドに表示されるエラーを解決する
ここまでで一見大丈夫そうなのですが、iOS12上で実行すると画面は真っ暗でなにも表示されません。
デバッグウィンドには [Application] The app delegate must implement the window property if it wants to use a main storyboard file. と表示されています。
これは、storyboardファイルがうまく読み込めていないようです。
AppDelegate.swift
に var window: UIWindow?
を追加することで解決できます。
【 var window: UIWindow?
を追加した例】
以上で終わりです。
最後に
他の方も記載されていますが、いまいちよく分からなかったので自分なりにまとめました。
参考にした。記事のリンクを記載させていただきます。