无法在Xcode 4方案预构建操作脚本中访问SRCROOT

时间:2011-06-06 12:09:45

标签: path xcode4 environment-variables xcodebuild buildpath

Xcode 3中可用于运行脚本的某些变量是否不再可用于在Xcode 4中预构建脚本操作?

脚本

PLIST_FILE="$SRCROOT/$INFOPLIST_FILE"
echo "${PLIST_FILE}"

仅产生“/”作为输出:似乎没有定义SRCROOT和INFOPLIST_FILE。这些在Xcode 4中有新名称;这是一个错误吗?

4 个答案:

答案 0 :(得分:13)

更新: Xcode 4.1最终解决了这个问题。脚本编辑器中的新弹出窗口允许您选择Xcode基于其为脚本提供的环境变量的目标(您仍然可以选择“无”...可疑有用的选项)。

旧帖子关于4.0关注

这是因为无论出于何种原因,Xcode环境变量在当前版本的动作前和动作后脚本中都不可用。

没有人知道为什么(或没有envvars它们如何有用)。

快速测试 - 在脚本中添加:

printenv ~/Desktop/EnvVars.txt

...然后打开文本文件,见证失望。 : - )

答案 1 :(得分:1)

试试这个:
cd $ {SRCROOT}
打开。

它对我有用。

答案 2 :(得分:0)

“$ SRCROOT / $ INFOPLIST_FILE”在Mac OSX Lion上的Xcode 4.1 Build 4B110中正常工作。

答案 3 :(得分:0)

编辑架构中 - >构建 - >预操作,确保选择其中一个目标"从" (不是)选项提供构建设置。

cp SOME_PATH/build.gradle "${SRCROOT}/build.gradle"