非法配置:不再支持编译早于 iOS 7 的 IB 文档

Posted

技术标签:

【中文标题】非法配置:不再支持编译早于 iOS 7 的 IB 文档【英文标题】:Illegal Configuration: Compiling IB documents for earlier than iOS 7 is no longer supported 【发布时间】:2017-11-09 19:07:04 【问题描述】:

我最近更新到 XCode 9。当我构建应用程序时,它会为我的 pod 文件中的某些情节提要显示 “非法配置”。我尝试重新创建情节提要文件,但没有帮助。

【问题讨论】:

不使用 xib 文件的另一个原因。 【参考方案1】:

XCode 9 将不支持为低于 7 的 ios 版本构建的故事板。

尝试将 File Inspector 中的 Builds for 更改为更高版本,然后 Clean and Build。

看截图

编辑:来自@user435779 的重要信息如下:如果错误没有消失,请重新启动 XCode。

【讨论】:

我强烈建议将 Builds for 设置为 Deployment Target (v.m) (确保您的目标是 7+) 我发现我还需要在清理后关闭并重新启动 XCode。不知道为什么。 ymmv @user435779 你是对的,重启就可以了。清理然后重新启动。此外,如果您实际打开所有 xib 文件,并手动设置部署目标(如果尚未设置),它也可以工作。然后清理并重新启动。 我有一堆 xib 文件,因此更改每个构建将是一个小挑战,但简单地更改部署目标对我来说效果很好。为了笑,它被设置为6.1!哈哈。 @DJGruby 请查看此截图screencast.com/t/Eaf1olBCp【参考方案2】:

只需在常规中将部署目标设置为 8.0 + 即可解决此问题。无需遍历每个 xib 文件。

【讨论】:

您将目标设置为 7.0,您也不会遇到问题!因此,如果您想要较低的部署目标,7.0 是避免此非法配置问题的最低可能。 收到错误“此应用程序不支持此设备的 CPU 类型” 即使Deployment Target 设置在General 下,xib 文件也可以独立地将其File Inspector -> Interface Builder Document 部分设置为单独的Builds for 设置,该设置不遵循General 设置。当您跨项目或从开源重复使用“代码”或 xib 文件时尤其如此。 谢谢 - 我需要打开一个旧项目,而当我尝试打开 Storyboard 以更改部署目标时,Xcode 正在抢滩。更改整个项目的部署目标对我来说是最好的解决方案。【参考方案3】:

由于 Xcode 9 中的 storyboard 将不支持 iOS 7.0 以下的版本,因此您需要在 文件检查器 中更新 iOS 版本。

有关更多信息,请查看以下 GIF 表示。

希望成功!!!

【讨论】:

打扰一下,我能知道您是如何制作的,或者您在 MacOS 中使用什么材料制作 GIF 动画吗? 从 AppStore 下载“Giphy Capture”软件。【参考方案4】:

我尝试了这两种方法 - 在 Xcode 9.3 (9E145) 上

对于每个 XIB,我添加了以下目标。

On Targets -> General -> Deployment Info-> Change target

清理项目并再次构建到设备中。成功了!

【讨论】:

【参考方案5】:

我的情况不同,我做了上述所有解决方案但没有成功构建,所以我重点阅读了错误并使用文件手动打开 .Xib 文件并将其开发目标更改为 iOS 10 及更高版本.

是的..它的工作很好

【讨论】:

以上是关于非法配置:不再支持编译早于 iOS 7 的 IB 文档的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 7 iOS9 字体不再被识别

IB 抱怨新窗口的内容离开屏幕

非法配置错误xcode6,我可以禁用它吗?

使用IB设计现有应用程序对设备没有影响(iOS 7.1 / XCode 5.1)

iOS Compiling IB documents for earlier than iOS 7 is no longer supported

Xcode 9 compiling IB documents for earlier than ios 7 is no longer supported