7
votes

I want to use a Launch Image with my iOS app, not a Launch Screen. (Launch Images can target devices more precisely than Launch Screens; there's no way to make a launch screen that behaves exactly like a launch image.)

If you do not have a Launch Screen in your iOS app, the iPad Pro renders as if the screen resolution were 1024x768 points wide. (To see this, create a new project, delete its launch screen, and start it in iPod Pro simulator.)

Is there a way to get iPad Pro to render at native 1366x1024 points without using a Launch Screen?

2

2 Answers

9
votes

No, you must use a Launch Screen to support the iPad Pro. That is how Apple decided to support it.

If you can't find a way to use a single Launch Screen to get the results you want, you can provide one specific to iPhones and one specific to iPads.

Update: Xcode 8 supports an iPad Pro Launch image slot so you no longer must use a Launch screen file to support the iPad Pro.

2
votes

iPad 12.9 and iPad 10.5 can now be supported without using a Launch Screen.

I believe Xcode 8 briefly supported the iPad Pro within the xcassets file, but that support has been revoked.

However, a key has been added to the info.plist file that will allow for static images to be used.

Human Interface Guidelines: https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/

Apple Technical Documentation: https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW28

Sample Code (added to info.plist)

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageName</key>
        <string>Burn480</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{320, 480}</string>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.0</string>
    </dict>
    <dict>
        <key>UILaunchImageName</key>
        <string>Burn568</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{320, 568}</string>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.0</string>
    </dict>
    <dict>
        <key>UILaunchImageName</key>
        <string>Burn667</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{375, 667}</string>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.0</string>
    </dict>
    <dict>
        <key>UILaunchImageName</key>
        <string>Burn736</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.0</string>
    </dict>
    <dict>
        <key>UILaunchImageName</key>
        <string>Burn1024</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{768, 1024}</string>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.0</string>
    </dict>
    <dict>
        <key>UILaunchImageName</key>
        <string>Burn1112</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{834, 1112}</string>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.0</string>
    </dict>
    <dict>
        <key>UILaunchImageName</key>
        <string>Burn1366</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{1024, 1366}</string>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.0</string>
    </dict>
</array>