【问题标题】:iPhone X: What triggers compatibility mode vs. full-screen mode?iPhone X:什么触发兼容模式与全屏模式?
【发布时间】:2017-11-09 11:54:48
【问题描述】:

我正在尝试让一个相当复杂的现有代码库(基础 SDK iOS 9.0;Swift 4.0;Xcode 9.1)在 iPhone X 上以全屏模式运行,到目前为止,它仅在“兼容模式”(即,带有黑色上下边框的信箱)下运行。

但是,满足相同要求的全新 Xcode 项目可以在全屏模式下正常运行。

关于在 iPhone X 上运行的应用程序何时以“兼容模式”与全屏模式显示时,似乎还存在相当多的歧义和/或错误信息。

一些变量可能包括:

  • Base SDK 项目设置
  • 是否有 Launch 故事板
  • 是否有 iPhone X 启动图片,以及它们的尺寸
  • 是否启用安全区域指南

...可能还有更多。

除了 Apple(和其他人)所说的之外,是否有人明确准确地隔离了参数的哪些排列“翻转”,并导致应用程序在一个与另一个中运行什么时候在 iPhone X 上?

[请注意:出于商业原因,至少目前,我们仍然希望该应用能够在 iOS 9 及更高版本上运行。]

提前非常感谢!

【问题讨论】:

  • 您回答了自己的问题。如果您使用启动屏幕故事板,您将获得全屏。否则,如果您使用大小合适的启动图像,您将获得全屏。
  • 顺便说一句 - 你想要一个 iOS 11.1(或“最新”)的基础 SDK。您希望部署目标是 iOS 9.0。这样才能正确支持 iOS 9.0 及更高版本。
  • 非常感谢,rmaddy -- 感谢您的确认和信息。

标签: ios iphone-x


【解决方案1】:

要打破 iPhone X 上的信箱,您的应用需要:

  1. 针对 iOS 11.0(或更高版本)SDK 进行编译
  2. 拥有适当的启动屏幕资产 - 具有自动布局的启动故事板或资产目录中的 iPhone X 启动图像。

使用安全区域指南并不是退出兼容模式的一部分,但它对于确保您的 UI 在退出兼容模式后正确适配 iPhone X 至关重要。 .对于许多应用程序,只需执行上述第 1 步和第 2 步,就会导致 UI 伸展以填满整个屏幕,将重要的控件隐藏在圆角、主页指示器和传感器凹槽后面(或不舒服地靠近)。

正如@rmaddy 所说,您仍然可以使用 iOS 11 SDK 构建并部署回 iOS 9 上少于 10%(并且在撰写本文时迅速下降)的 iOS 设备,只需设置最小部署目标在您的 Xcode 项目中,并确保对 iOS 10 和 iOS 11 API 的任何使用都受到可用性检查的保护。

【讨论】:

  • 非常感谢 rickster 提供的信息和精心编写的回复。非常感谢。
猜你喜欢
  • 2013-09-20
  • 1970-01-01
  • 2016-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
  • 2013-09-19
  • 1970-01-01
相关资源
最近更新 更多