在 nib 文件中使用安全区域布局,但将部署目标保留为 iOS 8

Posted

技术标签:

【中文标题】在 nib 文件中使用安全区域布局,但将部署目标保留为 iOS 8【英文标题】:Using safe area layout in nib files but leave deployment target as iOS 8 【发布时间】:2017-10-20 16:08:35 【问题描述】:

我最近在为 iPhone X 启用安全区域布局指南后将我的应用提交到应用商店。

我的应用程序目前支持 ios 8 - 所以当我在我的 nib 文件上启用安全区域布局指南时,我将右侧检查器上的“构建”标志更改为 9.0,而不是之前的 8 值。

我忘记做的是将我的目标“部署目标”从 8.0 更新到 9.0。

现在我的应用程序已准备好发布,我不确定会发生什么行为,也不确定我如何设法让我的 nib 成为符合 iOS 9 及更高版本的安全区域,但仍然能够构建和部署到 iOS 8 台设备。

我在 iOS 8.3 iPad 上通过试飞安装了这个应用程序,一切似乎都很好。

有人知道发生了什么吗?

提前致谢, 瑞恩

【问题讨论】:

【参考方案1】:

再次检查您发送到 iTunes 的内容。

当我尝试使用 Safe Area 构建我的项目并以 iOS 8 为目标时,我收到 ibtool 构建错误

2017-10-20 18:18:58.787 ibtoold[51167:2585061] WARNING: Unhandled destination metrics: (null)
/* com.apple.ibtool.document.errors */
/Users/.../MySafeAreaViewController.xib:sf6-cB-C54: error: Safe Area Layout Guide before iOS 9.0

我既无法调试也无法存档以上传到 iTunes。

【讨论】:

感谢谢布卡的回复。我已经仔细检查了已加载到应用商店的内容,它就是我上面描述的构建。无论我使用 Xcode 构建功能还是存档,我都没有看到这样的错误。简单地说,部署目标是 8.0,但我已更改为针对“iOS 9”构建的特定 nib 文件。

以上是关于在 nib 文件中使用安全区域布局,但将部署目标保留为 iOS 8的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 的 nib 文件中的自动布局

安全区域指南未出现在 Xcode 中

UITabbarController 隐藏标签栏破坏了安全区域布局

如何使用自动布局在 iphone x 中处理具有安全区域的键盘? [复制]

iOS 9 和 10:使用安全区域布局指南时在屏幕顶部添加了空白区域

单窗口、非基于文档的应用程序中的 Nib 文件(和代码)组织