ぬるぽ

ゆるくプログラミングなどを語っていくブログ

Xamarin.Formsでスプラッシュ(起動画面)でオリジナルの画像を表示しようとしてはまった話(iOS)

Xamarin.formsでアプリを作成して、リリースするためにスプラッシュ(起動画面)に作成したオリジナル画像を表示しようとしたところハマったので、自分の解決方法をメモしておきます。ちなみにiOSのみです。

環境

PC:Mac book Pro(parallels)

IED:Visual Studio2017 Community

Xamarin:4.5.0.486

Xamarin.iOS SDK:10.10.0.37

やりたかったとこ

アプリ起動時のスプラッシュ(起動画面)でオリジナルの画像を表示する。

デフォルトではXamarinロゴのスプラッシュが表示されるためこれを変更します。

f:id:nooootion:20170705230724p:plain

やり方

Xamarin.iOSプロジェクトのInfo.plistを開きます。

続いてビジュアル資産タブに切り替え。

アプリアイコン、起動画像に【アセットカタログを使用】のボタンがあるので押します。

f:id:nooootion:20170705231102p:plain

するとXamarin.iOSプロジェクトの資産カタログにメディアが追加されます。

f:id:nooootion:20170705231358p:plain

ダブルクリックで開くとアイコンとスプラッシュ画像を設定する画面が表示されるので

対応のサイズを設定します。

f:id:nooootion:20170705231657p:plain

(AppIconsでアイコンも同様に設定します。)

これで実行して確認するとアイコンは切り替わりますが、スプラッシュは変わりません。いろいろ試してみたところ、起動画面がデフォルトでLaunchScreenに設定されているためXamarin.iOSプロジェクトのResourcesフォルダのLaunchScreen.soryboardが呼ばれて起動しているようです。

こいつを設定から外してやればよさそうです。

shinya-dog.hatenablog.co

*Info.plistのここ

f:id:nooootion:20170705232628p:plain

但し、Visual Studioでは選択を外せません。

そこで一旦Visual Studio for Macで開き、Xamarin.iOSプロジェクトのInfo.plistのLaunch Screenを削除します。(こっちでは何故か消せる )

f:id:nooootion:20170705233055p:plain

再度Visual Studio(win) を開いてInfo.plistを開くと【アセットカタログを使用】のボタンが表示されているので、再度押してメディアから画像を設定します。

起動するとスプラッシュがオリジナル画像に切り替わりました!!!

f:id:nooootion:20170705233932p:plain

WinのVisual Studioからだとstoryubordでスプラッシュを設定するのが基本なんだろうか?取り敢えず表示できたのでめでたし。