iPhoneアプリを起動した時に最初に出力される画面をスプラッシュ画面とかローンチスクリーン(LaunchScreen)と言います。自分のブランドロゴとか最初に表示するとかっこいいですよね。
静的画像、アニメーション、プログラムロジックによって表示仕分ける事もできます。もちろん使わなくても良いです。
設定方法が色々とありますのでまとめておきたいと思います。
<前提>
・Xcode8
・StoryBoardを使用
#LauchScreenを指定する3つの方法
以下の場所に設定します。
3種類の設定方法がありますので、それぞれ説明します。
###1.LaunchScreenを使わない
「Launch Screen File」に、Main.storyboardを指定します。
これで最初にメインストーリーボードのInitialViewControllerが表示されます。
###2.LaunchScreenのStoryboardを使う
「Launch Screen File」に、LaunchScreen.storyboardを指定します。スプラッシュ画面専用のストーリーボードです。
LaunchScreen.storyboardはインターフェースビルダーで作ってください。
###3.アセットカタログ(LaunchImageSet)を使う
iPhoneの解像度に合わせて作成したイメージを使用します。設定が面倒なので3番目に書きましたがこれが一番スタンダードな方法だと思います。
####(1)アセットカタログの使用を設定
「Launch Image Source」の「Use Asset Catalog...」をクリックするとダイアログが表示されるので、「Migrate」をクリックします。
####(2)LaunchImageSetの作成
プロジェクトにデフォルトで作成されている「Assets.xcassets」というフォルダを選択し、LaunchImageを表示させます。((1)でやった「Migrate」でLaunchImageSetの器が作成されました。)
AttributesInspectorでLaunchImageを作りたいiOSバージョンのチェックボックスをチェックします。
iOSバージョンに合ったイメージ画像をドラッグ&ドロップでセットします。
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」を選択します。(選択されているはず)
「Launch Screen File」は空白にします。
イメージを設定せずに「Launch Screen File」を空白にすると、画面の上下が黒く切れたようになってしまうので、注意が必要です。
ぶっちゃけiOSアプリ開発は、アプリ開発にあたってとりあえず知っておくべきことをズバリ書きます。例外はありますのでご了承ください。