Ios #在.pch文件中定义无效

Ios #在.pch文件中定义无效,ios,objective-c,xcode,pch,Ios,Objective C,Xcode,Pch,我试图通过使用这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 S

我试图通过使用这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

我得到了您想要做的。你必须做得稍微不同一点。你必须这样做:

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

正如@EDUsta所述,
#ifdef
检查是否定义了此宏。如果是-则它将被计算为
true
。在您的情况下,您必须检查值,因此您必须使用
#if

我得到了您想要做的。你必须做得稍微不同一点。你必须这样做:

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

正如@EDUsta所述,
#ifdef
检查是否定义了此宏。如果是-则它将被计算为
true
。在您的情况下,您必须检查值,因此您必须使用
#if

我得到了您想要做的。你必须做得稍微不同一点。你必须这样做:

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

正如@EDUsta所述,
#ifdef
检查是否定义了此宏。如果是-则它将被计算为
true
。在您的情况下,您必须检查值,因此您必须使用
#if

,因为它是“定义的”,不是吗?请尝试注释开发和存储行,然后重试。请在“定义”部分注释开发和存储?是的,但我建议更改方法,因为您希望比较宏的值。您当前的问题是,您正在检查它们是否“已定义”,而不是比较值。(请检查:)因为它是“已定义”的,不是吗?请尝试注释开发和存储行,然后重试。请在“定义”部分注释开发和存储?是的,但我建议更改方法,因为您希望比较宏的值。您当前的问题是,您正在检查它们是否“已定义”,而不是比较值。(请检查:)因为它是“已定义”的,不是吗?请尝试注释开发和存储行,然后重试。请在“定义”部分注释开发和存储?是的,但我建议更改方法,因为您希望比较宏的值。您当前的问题是,您正在检查它们是否“已定义”,而不是比较值。(请检查:)因为它是“已定义”的,不是吗?请尝试注释开发和存储行,然后重试。请在“定义”部分注释开发和存储?是的,但我建议更改方法,因为您希望比较宏的值。您当前的问题是您正在检查它们是否“定义”,而不是比较值。(检查此项:)我们都会不时遇到此类“简单”问题,不要担心:)我们都会不时遇到此类“简单”问题,不要担心:)我们都会不时遇到此类“简单”问题,别担心:)我们都会不时遇到这种“简单”的问题,别担心:)