非法配置:不再支持编译早于 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 文档的主要内容,如果未能解决你的问题,请参考以下文章
使用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