我正试图让一个相当复杂的现有代码库(基本SDK iOS 9.0; Swift 4.0; Xcode 9.1)在iPhone X上以全屏模式运行,到目前为止,它只能在“兼容模式”中运行(即带有黑色顶部和底部边框的信箱)。
然而,满足相同要求的全新Xcode项目在全屏模式下运行良好。
在iPhone X上运行的应用实际上以“兼容模式”与全屏模式显示时,似乎存在相当多的含糊不清和/或错误信息。
一些变量可能包括:
......可能还有更多。
除了Apple(及其他人)所说的,有任何人明确地确切地隔离了参数的哪些排列'翻转开关',并导致应用程序在一个与另一个之间运行什么时候在iPhone X上?
[请注意:出于商业原因,至少目前,我们仍然希望该应用能够在iOS 9及更高版本上运行。]
非常感谢提前!
答案 0 :(得分:7)
要突破iPhone X上的信箱,您的应用需要:
使用安全区域指南不是退出兼容模式信箱的一部分,但在之后确保您的用户界面正确适合iPhone X ,这是至关重要的。对于许多应用程序,只需执行上面的步骤1和步骤2将导致UI延伸以填满整个屏幕,隐藏重要控件(或令人不舒服地靠近)圆角,原点指示器和传感器凹口。
正如@rmaddy指出的那样,您仍然可以使用iOS 11 SDK构建并在iOS 9上部署回iOS设备的不到10%(并且在撰写本文时迅速下降),只需设置最低部署目标在您的Xcode项目中,确保iOS 10和iOS 11 API的任何使用都受到可用性检查的保护。