Xcode - 为条件编译定义预处理器宏

Oli*_*ver 5 macros xcode preprocessor conditional-compilation

我正在使用XCode 4,在我的项目构建设置中,我设置了:

Preprocessor macros
   Debug   DEBUG;FULL
   Release FULL
Run Code Online (Sandbox Code Playgroud)

在同一项目的另一个目标中:

Preprocessor macros
   Debug   DEBUG;LITE
   Release LITE
Run Code Online (Sandbox Code Playgroud)

这两个目标使用完全相同的文件,但plist信息文件是不同的.

然后在我的代码中,我写道:

#ifdef FULL
    // ###### FULL VERSION
    NSLog(@"test");
    // ###### 
#endif
Run Code Online (Sandbox Code Playgroud)

但是从未写过日志.

我究竟做错了什么 ?我不希望(需要)为FULL语句设置一个值.

Cod*_*odo 12

多个预处理器宏由空格分隔,而不是分号.所以它应该是:

Preprocessor macros
   Debug   DEBUG FULL
   Release FULL
Run Code Online (Sandbox Code Playgroud)

使用分号,您将定义一个名为"DEBUG; FULL"的宏.这与你的不符#ifdef.