xcode - 如何在 xcconfig 变量中附加值?

标签 xcode xcconfig

我正在使用 Xcode 和 .xcconfig 文件。我试图在预处理器定义中附加一些值,但我根本无法使其工作。

我尝试了以下方法(以及它的许多变体),但到目前为止没有运气:

GCC_PREPROCESSOR_DEFINITIONS = '$(GCC_PREPROCESSOR_DEFINITIONS) NEW_VALUE'

NEW_VALUE 符号根本不会添加到预处理器定义中。

有人成功地将新值附加到 xcconfig 文件中的变量吗?

最佳答案

由于此问题的其他答案中所述的原因,您无法轻松继承值。

我建议级联定义您的设置。让我们假设 APP 是您的项目前缀,并简单地定义几个 CFLAGS:

平台.xcconfig:

APP_PLATFORM_CFLAGS = -DMAS=1

项目.xcconfig:

#include "platform.xcconfig"
APP_PROJECT_CFLAGS = -DBETA=1

目标-one.xcconfig:

#include "project.xcconfig"
APP_TARGET_CFLAGS = -DSUPER_COOL=1
#include "merge.xcconfig"

目标二.xcconfig:

#include "project.xcconfig"
APP_TARGET_CFLAGS = -DULTRA_COOL=1
#include "merge.xcconfig"

合并.xcconfig:

OTHER_CFLAGS = $(inherited) $(APP_PLATFORM_CFLAGS) $(APP_PROJECT_CFLAGS) $(APP_TARGET_CFLAGS)

然后,您的每个目标构建配置都将基于 target-xxx.xcconfig。真实的项目将使用更复杂的设置,为项目使用一个配置文件,为目标使用不同的配置文件,但您明白了。

此外,请记住,$(inherited) 指的是层次结构中的较高级别,而不是较早级别。例如,它继承自目标级别的项目级别。不确定这是否也适用于 Xcode 4。

这是 GTM 的简化,去那里了解更多信息。

关于xcode - 如何在 xcconfig 变量中附加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1393987/

相关文章:

objective-c - iOS:通过目标在 .xcconfig 文件中指定代码签名标识

xcode - 如何调试从 OSX 上的文件打开我的应用程序?

iphone - UIImage 不是编译时常量,Xcode 4

xcode - TableView 未更新

ios - AVAudioFile.write(来自 :) fails when buffer contains interleaved audio

xcode - xcconfig文件-设置变量值的前导空格?

ios - 选项卡栏角半径不显示透明角

ios - 修改 Cocoapods 生成的 .xcconfig 文件的脚本

ios - 为面向许多客户的项目交换 Xcode 内容的最佳方式是什么?

xcode - 如何区分 xcconfig 文件中的 "Ad Hoc"和 "App Store"代码签名标识?