为什么xcodebuild与XCode UI的构建结果不同?

4

我在一个工作区内有一系列的项目,尝试使用以下命令类型通过命令行构建它们:

"Xcodebuild -project XXX"
or 
"Xcodebuild -workspace XXX -scheme YYY"

有些项目可以顺利构建,但其他一些却出现了奇怪的错误,比如“'XXX' 例如消息没有声明选择器方法”或“ld:找不到库-lMyLibrary”。然而,所有这些项目在XCode UI中都可以顺利构建,没有问题。基于这个情况,似乎命令行和UI构建使用了不同的工具集,但这似乎是一个非常糟糕的想法,因此我希望我对此是错误的。或者可能只是在命令行构建上设置了一些不同的构建标志。我可以逐个解决问题,但我希望能编写一个脚本,执行与UI完全相同类型的构建。有任何想法吗?

1
你最终解决了这个问题吗?我也遇到了完全相同的“找不到库”问题,但是无论如何都无法解决。 - devios1
1个回答

2
不包括 -configuration,xcodebuild 将使用每个项目的默认配置。通常是 Release。在 Xcode 中,您选择的配置将应用于每个项目,而不考虑默认设置。
根据您的错误,最可能的问题是您使用了构建面板(为什么我讨厌大型项目的构建面板),并且犯了一个经典错误,即仅为调试应用了某些设置,而非所有配置。

谢谢你的回答。不幸的是,我不认为这是我的问题原因,因为我刚刚尝试了两个构建,一个是“-configuration Release”,另一个是“-configuration Debug”,但两者都以相同的方式失败了。 - Locksleyu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接