Xcode if 语句从不识别活动编译条件

Xcode if statement never recognizes Active Compilation Conditions

如您所见,在我的 Active compilation conditions 中,我有 2 个 flags(or whatever it is called)AB
我有 2 个目标,所以第一个目标有标志 A,第二个目标有标志 B...
在代码中,我试图根据选定的应用程序目标定义一个值,但问题是它永远不会进入 #if 块,但总是进入 #else 块。
几个小时以来,我一直在努力解决这个问题,但没有任何帮助。我还尝试将 -D 放入我的标志名称中,并尝试在 Other Swift Flags 中定义 AB ... 没有任何效果。

这是我的简单代码:

#if A
    #define kId @"a1a2a3" //never executed.
#else
    #define kId @"b1b2b3" //always executed. Weird thing is also that I put a breakpoint here but its never catched...
#endif

活动编译条件适用于 Swift,类似于 Objective-C/C/C++ 中的预处理器宏。

在 C-based 语言中,以 # 开头的行是预处理器指令。

由于您使用的是 Objective-C,因此要在您的代码中使用 #ifA 的值应该是 non-zero。如果你只想测试是否定义了 A ,你可以使用 #ifdef 代替。在Apple Clang - Preprocessing下的Preprocessor Macros中定义A=1