Xcode 项目设置阻止 iPhone X 模型底部的 TabBar?

Xcode Project Settings Preventing TabBar at Bottom of iPhone X Models?

我有一个旧项目,我已经断断续续地工作了大约 4 年 - 该项目经历了 XCode 版本从 6 到 10 的多次升级(我现在正在使用XCode 10.2.1 和 12.2 SDK)。我遇到的主要问题是它利用标签视图控制器来切换标签,无论我做什么,我都无法让标签栏出现在 iPhone X 系列设备正确:它看起来比应有的高得多

为了尝试最终缩小问题范围,我基本上暂时 "replaced" 项目中的所有代码和故事板项目,以查看 任何东西 是否会移动选项卡栏到它应该出现的位置(如果我只是用标签栏控制器创建一个空白的新项目,标签栏就会出现在它应该出现的位置)。我创建了一个测试故事板,其中只有一个 Tab Bar Controller 连接到一个导航控制器(没有设置任何约束)。它们没有附加 viewController 代码。我已经用 "blank" 应用程序委托替换了应用程序委托,因此基本上没有多余的代码或限制。而且我仍然移动了标签栏:

这发生在模拟器和设备上,并且没有代码或故事板设置正在执行此操作(新项目上的相同设置将选项卡栏放在正确的位置)。

我查看了“构建设置”和我可能遗漏的其他属性,看看我是否在几年前限制了可能影响此的东西,但没有看到任何东西。

我应该在项目设置中寻找什么可以做到这一点吗?

我不想在新项目中重建项目 - 有很多链接库、证书、cocoapods、情节提要项目,我知道尝试将它们全部放回一个片段中会很糟糕。

我的部署目标设置为 iOS11,设备:iPhone,基础 SDK:iOS

如有任何帮助,我们将不胜感激!

这通常是由于 iPhone X 没有正确的启动图像造成的。解决此问题的最简单方法是告诉应用目标不要使用启动图像(来自应用程序包或来自资产目录),而是使用 LaunchScreen.storyboard 代替。 (如果您没有,请制作一个;确保通过单击用作启动屏幕将其设置为启动屏幕情节提要,并将您的目标配置为指向它。检查一个普通的新项目以了解我的意思。)您可能不想长期保持这种方式,但至少它可以让您的应用在所有设备上以正确的大小启动。