.pch 文件中的#define 不起作用

#define in .pch file is not working

我试图通过使用这 3 个变量来定义构建的类型,但出于某种原因,它总是使用第一个。有什么想法吗?

// Pay attention: only ONE of these modes MUST be chosen.
//
//
#define DEVELOPMENT 0
#define PRODUCTION 1
#define STORE 0

我是这样使用的:

#ifdef DEVELOPMENT
    NSLog(@"Development version built.");
#elif STORE
    NSLog(@"Store version built.");
#else
    NSLog(@"Distribution version built.");
#endif

总是进入第一个ifdef..

我知道你想做什么了。你必须做一点不同。你必须这样做:

#if DEVELOPMENT
    NSLog(@"Development version built.");
#elif STORE
    NSLog(@"Store version built.");
#else
    NSLog(@"Distribution version built.");
#endif

因为正如@EDUsta 所说,#ifdef 检查是否定义了这个宏。如果是 - 那么它将被评估为 true。在您的情况下,您必须检查价值,因此您必须使用 #if.