子项目的Xcode环境变量

tom*_*omj 13 iphone xcode environment-variables ios

我目前的Xcode iOS项目使用了许多静态库.静态库中的不同代码模块具有各种级别的调试,我可以使用该模块中的#defines来打开/关闭它们.

我想要做的是在库中将所有调试默认设置为off,然后从父项目设置调试级别.我想这样做,所以任何使用lib的项目必须明确打开调试.

所以MainProj使用myLib1和myLib2等.在myLib1中是一个名为fooModule的模块.fooModule有调试代码,例如:

#if FOOMODULE_DEBUG_LEVEL > 0
//debug code, console logs etc
#endif
Run Code Online (Sandbox Code Playgroud)

我希望能够在父项目中定义FOOMODULE_DEBUG_LEVEL,以便库在构建时选择它并进行适当编译.

我试过了:

#define FOOMODULE_DEBUG_LEVEL 1 
Run Code Online (Sandbox Code Playgroud)

在主项目.pch中,我尝试将FOOMODULE_DEBUG_LEVEL添加为用户定义的环境变量,值为1.这两个项目都没有被子项目lib选中.

有没有办法做到这一点,还是我以错误的方式接近这个?

Mat*_*man -1

也许使用“预处理器宏”构建设置添加定义到目标和/或要启用调试的调试/发布构建配置。

在您的情况下,您将双击值列,然后单击“+”以添加新宏。宏将是“FOOMODULE_DEBUG_LEVEL = 1”,这应该会导致-DFOOMODULE_DEBUG_LEVEL=1编译器。