質問: ### 実現したいこと・問題 Xcode(Swift)で簡単なアプリを作っています。 アプリ起動時のスプラッシュ画像を設定したいのですが、 正しく表示されない機種があり、困っている状況です。 ### 内容 スプラッシュ画面の設定はImages.xcasssetsのLaunchImageで設定する方法を 採用しています。 以下のサイトを参考に画像を用意してセットしました。 https://majintools.com/2018/10/04/launchimage/ ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/b626510acb70c8b7428ea0dcd97c68d7.png) シミュレーターで以下の機種を全てテストしたところ、iPad Pro(11-inch)とiPad Pro(12.0-inch)(3rd generation)で正しく表示されませんでした。(どちらもiOS12.2です。) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/601b9a2fbe2c444085a3f84f961a762f.png) iPad Pro(11-inch)とiPad Pro(12.0-inch)(3rd generation)では、 下の画像のように、上下が黒くなってしまい、 スプラッシュ画面からアプリのメイン画面に切り替わっても、 上下が黒いままです。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/73b94ff924f0dc002be5c14460eef91c.png) ### 試したこと 色々調べてみて、わかったことは以下の通りです。 1iPad Pro(11-inch)は、他のiPadとアスペクト比が異なる。他のiPadはだいたい4:3なのに対し、iPad Pro(11-inch)は199:139(約1.43:1) <参考>https://wtpmj.com/?p=392 2LaunchImageではiPadの画像を設定するところは1箇所(1x,2x,縦,横)しかないため、そもそもXcodeで対応できていない?(いつか対応してくれる?) その他に、 Images.xcasssetsのLaunchImageで設定する方法をやめて、 スプラッシュ画像の名前をDefault-Landscape-1194h@2x.pngという名前にしてプロジェクトに画像を直接追加するという方法も見つけましたが、うまくいきませんでした。 <参考>https://stackoverflow.com/questions/39900225/ios-launch-image-for-all-devices-include-ipad-pro ### 終わりに iOSアプリ開発は初心者で、このようなQ&Aサイトに投稿するのは初めてというのもあり、分かりにくい内容でしたら申し訳ありません。 良いやり方をご存じの方がいらっしゃいましたら、ご教示のほどお願い申し上げます。 ### 補足情報 Xcode:Version 10.2 Swift5 iOS12.2
回答: akaakoz様に教えていただき、解決に至りました。 ありがとうございました。 Images.xcasssetsのLaunchImageで設定する方法では解決方法が見つかりませんでした。 結果的に、"LaunchScreen.storyboardを使う方法"に変更したところ、iPad Pro(11-inch)とiPad Pro(12.0-inch)(3rd generation)で正しく表示されるようになりました。 具体的には、以下のことをしました。 1プロジェクトに画像ファイルを追加 2targets → generalの「Launch Screen File」を"LaunchScreen.storyboard"に変更(以前は空でした) 3LaunchScreen.storyboardに"Image View"オブジェクトを追加 4"Image View"オブジェクトにスプラッシュ画像を設定 ありがとうございました。