我试图通过使用这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
。关于ios - #.ch文件中的#define不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32806414/