在Xcode中编译目标期间无法获取环境变量“ACTION”

时间:2012-06-01 04:31:02

标签: xcode

在Xcode构建ref:

https://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html#//apple_ref/doc/uid/TP40003931-CH3-SW45

它说:

  

ACTION

     

说明

     

标识符。标识要在目标上执行的构建类型。

然后我在scheme-> build-> pre-actions:

中制作一个小脚本
  

回声“动作:”

     

echo $ {ACTION}

$ACTION似乎是空的。

我也尝试了其他变量,比如$BUILD_VARIANTS,这些变量都很正常,所以我很确定这不是我脚本的错。

有没有人有同样的问题?

1 个答案:

答案 0 :(得分:0)

我找到了以下解决方案:

现在我在“构建阶段”添加脚本然后它工作了。我还在Xcode的构建日志中找到了一些有趣的东西:

  

cd / Users / developer / project / resourceTest

     

setenv ACTION build

     

setenv AD_HOC_CODE_SIGNING_ALLOWED NO

     

setenv ALTERNATE_GROUP工作人员

     

setenv ALTERNATE_MODE u + w,go-w,a + rX

     

...

因此,Xcode似乎将这些环境变量设置为“构建阶段”,而不是“后期操作”。您可以在“后期操作”中运行一些脚本或发送电子邮件,但并非所有这些项目使用的环境变量都可以保证可以正常使用。

此外,当它在“post actions”运行时,您不能收到任何脚本错误消息。 Xcode也会忽略这些错误,因此您的构建过程不会崩溃。