1

Xcode's interface for assigning launch images into an assets catalog is rather confusing. Only 2 image slots are made available given the settings we've chosen (Portrait only, for iOS 8.0 and later) and yet the Apple docs list a variety of resolutions required for their various devices (6s, 6s Plus, 7, 7 Plus, etc.), 12 of them to be exact. I'm using Xcode 8.3 btw.

We are designing portrait images for commonly available devices, but how to assign them here? Notice pics below showing a confusing mismatch between the expected resolutions of images (straight from Apple docs) and the Xcode UI for assigning those images. There are only 6 slots available, and even if the Apple docs described only 6 images, it is impossible to tell which goes where.

EDIT: Deployment target is 8.3.

enter image description here enter image description here

Alyoshak
  • 2,696
  • 10
  • 43
  • 70
  • Your "Static Launch Screen Images" contains 12 devices, but 4 are iPads, and most of the others have the same sizes. There's really only 3 different resolutions here, the 4.7" screen (iPhone 6s/7/8), the 5.5" screen (the Plus devices), and the 4" screen (iPhone 4S). Interestingly, the iPhone 4S is actually a supported device with a 3.5" screen and isn't listed at all. – Lily Ballard Oct 03 '17 at 18:37
  • I believe the right way to provide images for the 3.5" and 4" screens is to check the iOS 7.0 And Later iPhone Portrait checkbox. This will give you a "2x" and a "Retina 4" option. The "2x" is presumably for 3.5" devices (e.g. the iPhone 4S), and the "Retina 4" is for 4" devices (e.g. the iPhone SE). – Lily Ballard Oct 03 '17 at 18:40
  • "a confusing mismatch" I don't see what's confusing. – matt Oct 03 '17 at 18:57
  • Ok, I checked the iOS 7.0 option as you suggested, but even now only have 6 open slots for assigning, supposedly, 12 images. – Alyoshak Oct 03 '17 at 19:04
  • 1
    @matt -- For ex: look at how many slots for iPad images there are: 2. Look how many unique-sized iPad resolutions are listed in Apple doc: 3. – Alyoshak Oct 03 '17 at 21:25
  • There are only three iPad sizes listed in the Apple doc. – matt Oct 03 '17 at 21:31
  • 1
    That's what I just in my comment: 3. And how many slots indicated for iPad images? 2. – Alyoshak Oct 03 '17 at 22:07

2 Answers2

2

Depending on your deployment target, there's either 3 or 4 total resolutions you need to care about: 5.5" devices, 4.7" devices, 4" devices (e.g. iPhone SE), and if your deployment target is iOS 9 or below then 3.5" devices (e.g. iPhone 4S).

The "iOS 8.0 and Later" iPhone Portrait gives you the 5.5" and 4.7" devices. If you check the "iOS 7.0 and Later" iPhone Portrait option that will give you "2x" (which I believe is 3.5" devices) and "Retina 4" (which is 4" devices).

Using those 4 options you'll be able to cover all supported iPhones.

If you need iPad support, you can check the relevant iPad checkbox. However, it looks like the asset catalog doesn't offer a slot for either iPad Pro, I don't know why not. This answer suggests that for the iPad Pro you should ditch the asset catalog entirely and switch to free images and Info.plist keys.


You also don't need 12 images for 12 devices. A bunch of the devices share the same resolution. Here are the images you need:

  • 2048x2732 - 12.9" iPad Pro
  • 1668x2224 - 10.5" iPad Pro
  • 1536x2048 - 9.7" iPad, 7.9" iPad mini 4
  • 1242x2208 - iPhone 6s Plus, iPhone 7 Plus, iPhone 8 Plus
  • 750x1334 - iPhone 6, iPhone 6s, iPhone 7, iPhone 8
  • 640x1136 - iPhone 5, iPhone 5s, iPhone 5c, iPhone SE
  • 640x960 - iPhone 4s

If you upgrade to Xcode 9 you'll also need an 1125x2436 image for the iPhone X.

Lily Ballard
  • 182,031
  • 33
  • 381
  • 347
  • that's helpful, but can you tell me how I am to assign the images into Xcode's assets? I can only drop one image per slot, right? I did go ahead and check iOS 7.0 and Later for both iPhone and iPad, but that gave me a total of only 6 slots. I need to know how to map all my images into those 6 slots (see new updated pic I'm adding), or is there a different way to make the assignment? – Alyoshak Oct 03 '17 at 18:59
  • You drag your image into the slot. You don't need 12 images, because a lot of the devices share the same resolution. It looks to me like you need 7 images. I don't know why the asset catalog doesn't seem to offer a slot for the 12.9" iPad Pro. Here's [another answer](https://stackoverflow.com/questions/39337520/how-to-set-ipad-pro-static-launch-image) that suggests that you drop the asset catalog and use Info.plist keys in order to provide an image for the 12.9" iPad Pro. – Lily Ballard Oct 03 '17 at 19:05
1

If you would just use a launch storyboard like everyone else, you wouldn't be having any problem. You would just supply one launch storyboard: end of story.

EDIT As of iOS 13 and Xcode 11, this will soon be required. Launch images are dead. Your app must have a launch storyboard.

matt
  • 515,959
  • 87
  • 875
  • 1,141