xcodebuild - 如何定义预处理器宏?

时间:2010-04-25 13:29:19

标签: iphone xcode xcodebuild

如何在使用xcodebuild时定义预处理器宏?

我需要使用一堆不同的配置构建我的应用程序,我想使用shell脚本执行此操作,该脚本使用不同的预处理器宏多次运行xcodebuild。

2 个答案:

答案 0 :(得分:34)

您在GCC_PREPROCESSOR_DEFINITIONS命令行上传递xcodebuild

请记住,对于类似shell的单词拆分和引用处理,将重新评估参数,因此您需要小心,尤其是当您的宏值不仅仅是简单的1时(例如, NSString文字)。

同样重要的是在您设置的值内展开GCC_PREPROCESSOR_DEFINITIONS(单引号,因此您的脚本不会扩展它,但构建的shell会扩展它),否则您将&#39} ; ll会丢失此属性的项目构建设置。

以下代码将您的定义放在一个漂亮的bash数组中,然后在xcodebuild命令行中扩展数组,以便shell转换得很好:

defines=( TESTING=1 'IWISH_HOST=@"http://192.168.0.101:8080"' )

xcodebuild -verbose -scheme "MyAppScheme" \
    GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS '"$(printf '%q ' "${defines[@]}")"

答案 1 :(得分:18)

项目中的Cmd + I打开“信息”对话框。然后在“Build”选项卡中,找到“Preprocessor Macros”设置。 在那里添加宏。

...您可以在哪里找到设置名称为GCC_PREPROCESSOR_DEFINITIONS,因此您可以添加

GCC_PREPROCESSOR_DEFINITIONS="foo=bar"

到xcodebuild参数。