是否可以通过在Xcode项目中设置属性来为条件编译设置符号?
我的目标是创建一个可供所有文件使用的符号,而不必使用import/include,这样一组公共类在某些项目中可能会有特殊行为.像下面这样,但用我自己的符号.
#if TARGET_IPHONE_SIMULATOR ... #endif
Ben Gottlieb.. 114
转到目标或项目设置,单击左下角的齿轮图标,然后选择"添加用户定义的设置".新设置名称应该是GCC_PREPROCESSOR_DEFINITIONS
,您可以在右侧字段中键入您的定义.
Per Steph的评论,完整的语法是:
constant_1=VALUE constant_2=VALUE
请注意,如果您只想#define一个符号,而不是给它一个值(对于语句),则不需要 '='s#ifdef
转到目标或项目设置,单击左下角的齿轮图标,然后选择"添加用户定义的设置".新设置名称应该是GCC_PREPROCESSOR_DEFINITIONS
,您可以在右侧字段中键入您的定义.
Per Steph的评论,完整的语法是:
constant_1=VALUE constant_2=VALUE
请注意,如果您只想#define一个符号,而不是给它一个值(对于语句),则不需要 '='s#ifdef
您无需创建用户定义的设置.内置设置"预处理器宏"工作得很好. alt text http://idisk.mac.com/cdespinosa/Public/Picture%204.png
如果您有多个使用相同前缀文件的目标或项目,请改用预编译头中未使用的预处理器宏,因此宏定义中的差异不会触发不必要的额外预编译头集.
作为附录,如果您使用此技术在目标中定义字符串,这就是我必须定义和使用它们的方式:
在构建设置 - >预处理器宏中,是反斜杠在定义中至关重要:
APPURL_NSString=\@\"www.foobar.org\"
并在源代码中:
objectManager.client.baseURL = APPURL_NSString;
您可以使用该*_Prefix.pch
文件声明项目范围的宏.该文件通常位于" 其他来源"组中.