Dir*_*nry 7 xcodebuild ios xcode4 xcode4.3
我正在尝试使用不同的预处理宏启动xcodebuild.
我试过了 :
xcodebuild -scheme myscheme \
-configuration "Archive" \
-sdk "iphoneos5.1"
archive \
CONFIGURATION_BUILD_DIR=../build \
GCC_PREPROCESSOR_DEFINITIONS=ADHOC
Run Code Online (Sandbox Code Playgroud)
但由于未使用预处理器,我收到了编译错误:
我无法使用编译命令的-D标志看到它
但它显示在脚本的开头
Build settings from command line:
CONFIGURATION_BUILD_DIR = ../build
GCC_PREPROCESSOR_DEFINITIONS = ADHOC
SDKROOT = iphoneos5.1
Run Code Online (Sandbox Code Playgroud)
编译错误原点的代码是:
#ifdef ADHOC
NSUInteger toto = 0;
#endif
Run Code Online (Sandbox Code Playgroud)
但我得到一个use of undeclared identifier错误toto
ps:如果我在Xcode中定义预处理器宏,则使用这些值,覆盖我的,并完成归档.但我确实希望根据不同的预处理器定义进行多次构建(这听起来比创建新的构建配置或方案更好)
我必须使用双引号并删除 $value。我有,
GCC_PREPROCESSOR_DEFINITIONS='$value ${e}',
Run Code Online (Sandbox Code Playgroud)
这没有用,但是
GCC_PREPROCESSOR_DEFINITIONS="${e}"
Run Code Online (Sandbox Code Playgroud)
作品。
其中,e 是循环内的变量,
environments=("TEST1" "TEST2" "TEST3" "TEST4" "TEST5" "PROD")
for e in "${environments[@]}"
do
....... commands
done
Run Code Online (Sandbox Code Playgroud)
如果我使用
GCC_PREPROCESSOR_DEFINITIONS='$value ${e}'
Run Code Online (Sandbox Code Playgroud)
然后我必须使用像,
GCC_PREPROCESSOR_DEFINITIONS='$value ADHOC=1'
Run Code Online (Sandbox Code Playgroud)
这在构建脚本之一中有效。
| 归档时间: |
|
| 查看次数: |
2938 次 |
| 最近记录: |