iPhone X:是什么触发了兼容模式和全屏模式?
iPhone X: What triggers compatibility mode vs. full-screen mode?
我正在尝试将一个相当复杂的现有代码库(基础 SDK iOS 9.0;Swift 4.0;Xcode 9.1)添加到 运行 全屏模式 在 iPhone X 上,到目前为止,它在 “兼容模式” 中只有 运行s(即,带有黑色顶部和底部边框的信箱)。
但是,满足相同要求的全新 Xcode 项目 运行 在全屏模式下很好。
似乎也有相当多的歧义 and/or 关于 运行 在 iPhone X 上实际显示“兼容模式”与全屏的应用程序的错误信息模式。
一些变量可能包括:
- Base SDK 项目设置
- 是否有 Launch 故事板
- 是否有iPhone X 启动图像,以及它们的大小
- 是否启用安全区域指南
...甚至更多。
除了 Apple(和其他人)所说的之外,有没有人明确地 准确地隔离了哪些参数排列“翻转开关”,并导致应用程序 运行 在 iPhone X?
上的一个对另一个
[请注意:出于商业原因,至少目前,我们仍然希望该应用能够 运行 iOS 9 及更高版本。]
非常感谢!
要在 iPhone X 上突破信箱,您的应用需要:
- 针对 iOS 11.0(或更新版本)SDK
进行编译
- 要拥有适当的启动屏幕资产 — 带有自动布局的启动故事板,或资产目录中的 iPhone X 启动图像。
使用安全区域指南并不是摆脱兼容模式信箱的一部分,但确保您的 UI 正确适合 iPhone X [=16= 是必不可少的]after 退出兼容模式。对于许多应用程序,仅执行上面的步骤 1 和 2 将导致 UI 伸展以填满整个屏幕,将重要控件隐藏在(或令人不舒服地靠近)圆角、主页指示器和传感器槽口后面。
正如@rmaddy 指出的那样,您仍然可以使用 iOS 11 SDK 进行构建并部署回不到 10%(并且在撰写本文时迅速下降)的 iOS 设备在 iOS 9 上,只需在 Xcode 项目中设置最低部署目标,并确保对 iOS 10 和 iOS 11 API 的任何使用都受到可用性检查的保护。
我正在尝试将一个相当复杂的现有代码库(基础 SDK iOS 9.0;Swift 4.0;Xcode 9.1)添加到 运行 全屏模式 在 iPhone X 上,到目前为止,它在 “兼容模式” 中只有 运行s(即,带有黑色顶部和底部边框的信箱)。
但是,满足相同要求的全新 Xcode 项目 运行 在全屏模式下很好。
似乎也有相当多的歧义 and/or 关于 运行 在 iPhone X 上实际显示“兼容模式”与全屏的应用程序的错误信息模式。
一些变量可能包括:
- Base SDK 项目设置
- 是否有 Launch 故事板
- 是否有iPhone X 启动图像,以及它们的大小
- 是否启用安全区域指南
...甚至更多。
除了 Apple(和其他人)所说的之外,有没有人明确地 准确地隔离了哪些参数排列“翻转开关”,并导致应用程序 运行 在 iPhone X?
上的一个对另一个[请注意:出于商业原因,至少目前,我们仍然希望该应用能够 运行 iOS 9 及更高版本。]
非常感谢!
要在 iPhone X 上突破信箱,您的应用需要:
- 针对 iOS 11.0(或更新版本)SDK 进行编译
- 要拥有适当的启动屏幕资产 — 带有自动布局的启动故事板,或资产目录中的 iPhone X 启动图像。
使用安全区域指南并不是摆脱兼容模式信箱的一部分,但确保您的 UI 正确适合 iPhone X [=16= 是必不可少的]after 退出兼容模式。对于许多应用程序,仅执行上面的步骤 1 和 2 将导致 UI 伸展以填满整个屏幕,将重要控件隐藏在(或令人不舒服地靠近)圆角、主页指示器和传感器槽口后面。
正如@rmaddy 指出的那样,您仍然可以使用 iOS 11 SDK 进行构建并部署回不到 10%(并且在撰写本文时迅速下降)的 iOS 设备在 iOS 9 上,只需在 Xcode 项目中设置最低部署目标,并确保对 iOS 10 和 iOS 11 API 的任何使用都受到可用性检查的保护。