我希望能够有特定的代码块,如#ifdef SOME_VARIABLE
,如果项目是在特定用户的机器上构建,则该变量的值将在项目构建时填充。
这种情况是否可能?
我希望能够有特定的代码块,如#ifdef SOME_VARIABLE
,如果项目是在特定用户的机器上构建,则该变量的值将在项目构建时填充。
这种情况是否可能?
您可以在“预处理器宏”构建设置中设置值。在构建设置中设置“SOME_VARIABLE=${USER}”相当于在您的代码中使用#define SOME_VARIABLE "jappleseed"。
然后,在您的代码中,您可以这样做:
#define jappleseed 1
#define sjobs 2
#if DEV_USER == jappleseed
NSLog(@"Hi Jhonny");
#elif DEV_USER == sjobs
NSLog(@"Hi Steve");
#endif
ENV_USER_$(USER)=1
(这将定义宏ENV_USER_myusername
)
然后,在您的代码中,您可以使用:
#if ENV_USER_myusername
...
#endif
=1
可能是多余的,因为Xcode似乎默认将变量定义为true
。我们只是为了保险起见并能够使用#if
或#ifdef
而将其放在那里。这样就不必担心它可能被定义但却求值为false
,在这种情况下#ifdef
仍然有效,但#if
则不会。当然,您可以根据需要将其定义为任何值。