项目在 XCode 中编译,但 XCodeBuild 产生错误“No architectures ...”

Posted

技术标签:

【中文标题】项目在 XCode 中编译,但 XCodeBuild 产生错误“No architectures ...”【英文标题】:Project compiles in XCode but XCodeBuild produces error "No architectures ..." 【发布时间】:2013-02-11 22:44:02 【问题描述】:

我的项目在 Xcode 中构建时编译正常,但当我尝试使用 xcodebuild 构建它时编译失败,输出的最后一行是:

=== BUILD NATIVE TARGET XXX OF PROJECT YYY WITH CONFIGURATION Debug ===
Check dependencies
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s).

由于最后一行提到架构,我检查了 Build Settings 中的架构部分,并将其设置为 Standard(armv7, armv7s)。

我的罪魁祸首是活动的 arch=x86_64,如果我将 Xcode 设置更改为构建活动的架构 = NO,那么它就可以了。

但是活动架构设置在哪里,为什么默认值 x86,我应该将其更改为其他值还是通过将构建活动架构设置为 NO 来解决此问题是正确的做法?

【问题讨论】:

【参考方案1】:

我得到了相同的解决方案,在我的项目构建设置及其所有子项目中将“架构”设置为标准(armv7、armv7s)并将“仅构建活动架构”设置为否。也可以像这样在命令行中覆盖这些值:

xcodebuild -project YourProject.xcodeproj -scheme YourScheme ONLY_ACTIVE_ARCH=NO

干杯

【讨论】:

谢谢,但正如我所说,我已经有了解决方案:“如果我更改 Xcode 设置以构建活动架构 = 否,那么就可以了。”我正在询问有关为什么将活动架构设置为 x86 以及此解决方案是否可以接受以及为什么或为什么不可以接受的背景信息。我不满足于它的工作,我想更详细地了解事情 - 为什么和什么等等。干杯

以上是关于项目在 XCode 中编译,但 XCodeBuild 产生错误“No architectures ...”的主要内容,如果未能解决你的问题,请参考以下文章

我从项目中删除了一些核心数据生成文件,但 Xcode 仍然尝试编译它们

xcode 9 xcodebuild 开启钥匙串共享和推送通知

Xcode:momc 无法在旧项目中编译 .mom 文件

Xcode 编译我的应用程序,但无法在模拟器中运行它

如何在 xcodebuild 中添加多个方案?

Xcode build - 停留在编译 Swift 源文件