Search code examples
iosipadmarmalade

Other than using a launch storyboard, what else do I need to do to support the iPad Pro's full resolution?


I have an app, created using the Marmalade cross-platform development SDK (i.e. the app bundle is not built with Xcode), which is currently displaying as a scaled up 1536x2048 resolution, instead of the full-size 2048x2732 resolution.

I am using a Launch Storyboard LaunchScreen.nib, which was copied over from an app which does display at the correct resolution.

The Info.plist contains the lines:

<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>

The storyboard displays on launch, but the app displays at the wrong resolution. (Easily visible by looking at the OS-rendered status bar.)

What else is required to get the app to run at the correct resolution?


Solution

  • In addition to using a launch storyboard, the app also has to be built with the correct iOS SDK. We were already building against this version of the SDK.

    However, because the app was built using Marmalade, and not Xcode, some of the values in the final, packaged Info.plist weren't correct. (Xcode adds some settings to the app's Info.plist during the build process.) Updating to the following values fixed the issue:

    <key>BuildMachineOSBuild</key>
    <string>15A282b</string>
    <key>DTCompiler</key>
    <string>com.apple.compilers.llvm.clang.1_0</string>
    <key>DTPlatformBuild</key>
    <string>13C75</string>
    <key>DTPlatformName</key>
    <string>iphoneos</string>
    <key>DTPlatformVersion</key>
    <string>9.2</string>
    <key>DTSDKBuild</key>
    <string>13C75</string>
    <key>DTSDKName</key>
    <string>iphoneos9.2</string>
    <key>DTXcode</key>
    <string>0720</string>
    <key>DTXcodeBuild</key>
    <string>7C68</string>
    

    This is essentially the same issue as a previous problem we've had with apps built using Marmalade.