iOS
Asset
LaunchScreen
スプラッシュ画面
LaunchImage

【ぶっちゃけiOSアプリ開発】スプラッシュ画面(LaunchScreen)の設定

iPhoneアプリを起動した時に最初に出力される画面をスプラッシュ画面とかローンチスクリーン(LaunchScreen)と言います。自分のブランドロゴとか最初に表示するとかっこいいですよね。
静的画像、アニメーション、プログラムロジックによって表示仕分ける事もできます。もちろん使わなくても良いです。
設定方法が色々とありますのでまとめておきたいと思います。
<前提>
・Xcode8
・StoryBoardを使用

LauchScreenを指定する3つの方法

以下の場所に設定します。
launchscreen01.png

3種類の設定方法がありますので、それぞれ説明します。

1.LaunchScreenを使わない

「Launch Screen File」に、Main.storyboardを指定します。
LaunchScreen02-1.png

これで最初にメインストーリーボードのInitialViewControllerが表示されます。

2.LaunchScreenのStoryboardを使う

「Launch Screen File」に、LaunchScreen.storyboardを指定します。スプラッシュ画面専用のストーリーボードです。
LaunchScreen02-2.png

LaunchScreen.storyboardはインターフェースビルダーで作ってください。

3.アセットカタログ(LaunchImageSet)を使う

iPhoneの解像度に合わせて作成したイメージを使用します。設定が面倒なので3番目に書きましたがこれが一番スタンダードな方法だと思います。

(1)アセットカタログの使用を設定

「Launch Image Source」の「Use Asset Catalog...」をクリックするとダイアログが表示されるので、「Migrate」をクリックします。
LaunchScreen02-3a.png

(2)LaunchImageSetの作成

プロジェクトにデフォルトで作成されている「Assets.xcassets」というフォルダを選択し、LaunchImageを表示させます。((1)でやった「Migrate」でLaunchImageSetの器が作成されました。)
LaunchScreen02-3b.png

AttributesInspectorでLaunchImageを作りたいiOSバージョンのチェックボックスをチェックします。
LaunchScreen02-3c.png

iOSバージョンに合ったイメージ画像をドラッグ&ドロップでセットします。
LaunchScreen02-3d.png

iPhone Portraitの場合、セットする画像の解像度は以下の通り。異なる解像度の画像をセットすると表示されない場合もあるようです。
[iOS 5,6]
1x 320x480
2x 640x960
Retina4 640x1136
[iOS 7-9]
2x 640x960
Retina4 640x1136
[iOS 8,9]
Retina HD 5.5" 1242x2208
Retina HD 4.7" 750x1334

(3)LaunchImageSetを設定

「Launch Image Source」を確認し、「LaunchImage」を選択します。(選択されているはず)
LaunchScreen02-3y.png
「Launch Screen File」は空白にします。
LaunchScreen02-3x.png

イメージを設定せずに「Launch Screen File」を空白にすると、画面の上下が黒く切れたようになってしまうので、注意が必要です。
LaunchScreen02-3z.png


ぶっちゃけiOSアプリ開発は、アプリ開発にあたってとりあえず知っておくべきことをズバリ書きます。例外はありますのでご了承ください。