【SwiftUI】Info.plistを使ってLaunchScreenを実装する方法

Storyboard開発では、LaunchScreen.storyboardがあるので、比較的わかりやすいのですが、SwiftUIにはなく、Info.plistを使って実装しなければならないらしいです。今回はその方法をご紹介します。

ちなみに、Storyboardで行う方法もあります。というか、正直Storyboardを使った方が良いです。

【SwiftUI】起動画面の画像が引き伸ばされる件について(Storyboardを使ってLaunch Screenを実装する方法)

Info.plistで設定する方法

Info.plistで簡単に実装できます。

STEP.1
画像を定義

まずは、Assets.xcassetsに、設定したい画像を入れてください。

名前は、LaunchScreenImageにしています。

STEP.2
背景色を定義

設定したい背景色を定義してください。

左下の+ボタンを押して、Color Setをクリック

LightモードとDarkモードそれぞれに色を定義してあげましょう。

名前は、LaunchBackgroundColorにしています。

STEP.3
Info.plistで取得

①プロジェクトを選択
②TARGETSを選択
③Infoを選択
④Launch Screenの中に画像と背景色を定義

Key Value
Image Name LaunchScreenImage
Background color LaunchBackgroundColor

ここの文字が一致していないといけないので、しっかりと確認してください。

STEP.4
シミュレーター再起動

自分の場合は、シミュレーターを再起動しないと反映されませんでした。

シミュレーターをバツで閉じて再実行してください。キャッシュ?が残るらしく、サイズ調整のために変更して実行してもすぐには変わりません。毎回バツで閉じないと変更されません。。

これで、launchScreenが設定できた思います。

ちなみに、今回はImage NameとBackground Colorを変更しましたが、それ以外にもカスタムできることはあります。画像のサイズに関しては、画像自体のサイズを変えて調整する感じですかね。

Key Value
Image Name 画像
Background color 背景色
Image respects safe area insets 画像のセーフエリア設定
Show Navigation bar ナビゲーションバーの表示
Show Tab bar タブバーの表示
Show Toolbar ツールバーの表示

ただ、このように画像が引き伸ばされるときがあります。

その場合は、以下の記事を見て対応してください。

【SwiftUI】起動画面の画像が引き伸ばされる件について(Storyboardを使ってLaunch Screenを実装する方法)