As you wrote there are two ways to configure the LaunchScreen:
- Static image from the special imagest -
LaunchImage.launchimage
- Designed screen that can hold multiple UI elements -
LaunchScreen.storyboard
If your launch screen is simple enough and you choose to use Static image please make sure that your Info.plist doesn't hold the following key: <key>UILaunchStoryboardName</key> <string>LaunchScreen</string>
, if it does then the static image won't be used.
The LaunchImage.launchimage
holds an image for all device types and tells you which image size to use.
If you use it and do populate all the images and still some devices has no launch image try cleaning and rebuilding your app and uninstalling and reinstalling the app from your test device or simulator. Also consider updating your environment (xCode).
If you choose to use Designed screen please avoid setting the source of your ImageView to the LaunchImage.launchimage
, its a special imageset. You can only use regular x.imagesets
with less images (1x 2x R4 3x).
Take a look at the following answer to a different question, it explains the mechanism that auto selects the image, it also has table that connects iPhone type to the selected image.