除了使用启动故事板,我还需要做些什么来支持 iPad Pro 的全分辨率?

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

我有一个使用 Marmalade 跨平台开发 SDK 创建的应用程序(即应用程序包 而不是 使用 Xcode 构建),当前显示为放大的 1536x2048 分辨率,而不是全尺寸 2048x2732 分辨率。

我正在使用 Launch Storyboard LaunchScreen.nib,它是从 以正确分辨率显示的应用复制过来的。

Info.plist 包含以下行:

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

故事板在启动时显示,但应用程序以错误的分辨率显示。 (通过查看 OS 呈现的状态栏很容易看到。)

要使应用以正确的分辨率达到 运行,还需要什么?

答案取决于您使用的图形 api。 如果您使用 IwGL,请检查 app.icf 中的虚拟分辨率设置(VirtualWidth、VirutalHeight 和 VirtualLetterbox)。 http://docs.madewithmarmalade.com/display/MD732/IwGL+virtual+resolution

如果您使用 IwGX,请检查 return IwGxGetScreenWidth() 和 IwGxGetScreenHeight() 函数的值,并根据您的纵横比缩放您的视觉组件。

除了使用启动故事板,the app also has to be built with the correct iOS SDK。我们 已经针对此版本的 SDK 进行构建。

但是,由于该应用是使用 Marmalade 而不是 Xcode 构建的,因此最终打包的 Info.plist 中的某些值不正确。 (Xcode 在构建过程中向应用的 Info.plist 添加了一些设置。)更新为以下值解决了问题:

<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>

这与 previous problem 我们在使用 Marmalade 构建的应用程序中遇到的问题本质上是相同的。