在 Xcode 9 上构建应用程序,目标是 iOS 11,但在 iPhone X 上具有兼容模式

Build app on Xcode 9 targeting iOS 11 but have compatibility mode on iPhone X

有谁知道如何在 Xcode 9 上构建面向 iOS 11 的应用程序,但仍然在 iPhone X 上以兼容模式 运行 使其仍然显示顶部和底部栏边框而不是缩放应用以填满屏幕?

如果旧的 iOS 10 或更低版本的应用程序 运行 会在 运行 中 运行,以防新 iPhone X 用户感到困惑这将在屏幕顶部和底部显示黑条,就像 iPhone 应用在 iPad.

上的外观一样

最简单的方法是为您的项目设置静态启动图像。这不是理想的,但我不知道除了使用 iOS 10 作为基础 SDK 构建之外的另一种强制兼容性的方法。

对于那些需要一些步骤来设置静态启动图像的人

  1. 您可以在 Images.xcassets 中添加静态图片。点击xcassets栏最下方的+按钮和selectApp Icons & Launch Images > New iOS Launch Image。现在为您支持的所有设备添加所有静态启动图像,除了 iPhone X.

  2. 现在将您的项目设置为使用静态启动图像而不是 xib 文件。 Select 文件夹层次结构中的项目根目录和 select General 选项卡。向下滚动,直到到达“应用程序图标”和“启动图像”部分。现在从 Launch Images Source 的下拉列表中删除 Launch Screen File 和 select 您的新 LaunchImage 的条目。

(嗯……刚刚在 Xcode 9 Launch Images Sourc 中发现了一个错字……无论如何)

当您为 iPhone X 构建时,它会发现 iPhone X 和 运行 它在兼容模式下没有静态启动图像。