UnityのiOS設定でUse Storyboard for Launchしようとしたらハマったのでメモ
環境
- Unity 2018.4.12f1 Personal
- Xcode 11.1 (11A1027)
① .storyboardファイルを作成する
Xcodeで新規プロジェクトを作成する。Single View AppでOK。
場所はUnityプロジェクトのルート(Assets
やAssembly-CSharp.csproj
と同列)がオススメ。
中にLaunchScreen.storyboard
というファイルがあるのでそれを使うことにする。
② .storyboardファイルをUnityに設定
iOSの設定でUse Storyboard for Launch
にチェックを入れ、
すぐ下のCustom Storyboard
ボタンから先ほどのLaunchScreen.storyboard
を選択する。
LaunchScreen.storyboardはUnityプロジェクトのルート配下に置かれてる必要がある。
するとCustom Storyboard
ボタンの右にUnityプロジェクトルートからの相対パスでLaunchScreen.storyboard
のパスが表示される。
③ 画像を表示するには
これだけだとストーリーボードに使われている画像がビルド後のXcodeプロジェクトに含まれないので何とかする必要がある。
今回はStreamingAssetsフォルダを利用することにした。
まずストーリーボードで使われている画像をすべてStreamingAssetsフォルダにコピペする。こうすることで、これらの画像がビルド後XcodeプロジェクトでData/Raw/
フォルダ以下に含まれるようになる。それだけだと画像の参照がうまくいかないので、再びXcodeでLaunchScreen.storyboard
を開き、ImageViewの参照画像ファイル名の先頭にData/Raw/
を付加する。こうするとストーリーボード上では画像が「?」で表示され参照が見つからない風になるが、実行すると正しく表示される
④ 画像が表示されない・更新されないときは
- テストで使っているiOS端末の電源をリブート
- XcodeのDrivedDataを全削除(Xcodeの設定からLocationsタブにいくとDrivedDataのパスが分かる)