如何从命令行使用 xcodebuild 设置与位置无关的构建设置?

How can I set position independent build setting using xcodebuild from the command line?

我正在使用一些第三方工具为一些子组件生成 xcode 项目文件。他们的工具生成的项目文件将“生成位置相关代码”设置为“是”(可能是因为该工具也为 OS X 构建生成项目文件,而最新的更新混淆了它)。

虽然我可以简单地在 GUI 中关闭这些标志,但它不如我的构建过程编写脚本来生成每个项目文件、构建它、移动二进制文件、将它们一起 lipo 等方便。

我很确定这些设置可以在命令行上被覆盖,但我很好奇设置键到底是什么。例如,我不知道 setting=value 是否意味着设置名称与它在 Xcode(生成位置相关代码)中的显示方式完全一致,因为其中有空格。

如果有人可以提供可以传递给 xcodebuild 的所有设置的列表,那就太棒了。

设置名称实际上是GCC_DYNAMIC_NO_PIC。 "Generate Position-Dependent Code" 只是描述。

为了将来参考,当我在项目 Build Settings 中突出显示该设置时复制 (Command+C)... ...然后粘贴到文本编辑器中,我看到了实际的命令行设置键。

//:configuration = Debug

//:configuration = Release

//:completeSettings = some
GCC_DYNAMIC_NO_PIC

这也适用于所有构建设置。