您在xcodebuild
命令行上传递GCC_PREPROCESSOR_DEFINITIONS
。
请记住,对于类似shell的单词拆分和引用处理,将重新评估参数,因此您需要小心,尤其是当您的宏值不仅仅是简单的1
时(例如,NSString文字) )。
同样重要的是在你设置的值内扩展GCC_PREPROCESSOR_DEFINITIONS
(单引号,所以你的脚本不会扩展它,但是构建的shell会扩展它),否则你将失去项目的构建设置这个性质。
下面的代码将你的定义放在一个漂亮的bash数组中,然后在一个shell代码很好地转义的方式中扩展xcodebuild
命令行中的数组:
defines=( TESTING=1 'IWISH_HOST=@"http://192.168.0.101:8080"' )
xcodebuild -verbose -scheme "MyAppScheme" \
GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS '"$(printf '%q ' "${defines[@]}")"