gpt4 book ai didi

Xcode4:自定义构建前操作/后操作中的空环境变量

转载 作者:行者123 更新时间:2023-12-02 03:04:26 24 4
gpt4 key购买 nike

我需要在 xcode 4 中运行自定义构建脚本。该脚本作为预操作添加并正确执行。我的问题是,没有 environment variables可以帮助我访问我的项目文件。

IE。我对 ${PROJECT_DIR} 感兴趣, ${BUILT_PRODUCTS_DIR}${INFOPLIST_PATH} .不幸的是,变量没有设置。整个环境看起来是这样的:

Apple_PubSub_Socket_Render=/tmp/launch-pc2V6P/Render 
BASH=/bin/sh
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=([0]="0")
BASH_SOURCE=([0]="/Users/melle/Projects/rc-control/RC/Scripts/preBuild.sh")
BASH_VERSINFO=([0]="3" [1]="2" [2]="48" [3]="1" [4]="release" [5]="x86_64-apple-darwin10.0")
BASH_VERSION='3.2.48(1)-release'
COMMAND_MODE=unix2003
DIRSTACK=()
DISPLAY=/tmp/launch-VH6onm/org.x:0
EUID=502
GROUPS=()
HOME=/Users/melle
HOSTNAME=zack.fritz.box
HOSTTYPE=x86_64
IFS=' '
LOGNAME=melle
MACHTYPE=x86_64-apple-darwin10.0
OPTERR=1
OPTIND=1
OSTYPE=darwin10.0
PATH=/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
PIPESTATUS=([0]="0")
POSIXLY_CORRECT=y
PPID=43073
PS4='+ '
PWD=/private/var/folders/h2/h2tdJ2dPF943jRjJXqjNX++++TM/-Tmp-
SCHEME_ACTION_NAME='Run Script'
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments:posix
SHLVL=3
SSH_AUTH_SOCK=/tmp/launch-LXX6Lp/Listeners
TERM=dumb
TMPDIR=/var/folders/h2/h2tdJ2dPF943jRjJXqjNX++++TM/-Tmp-/
UID=502
USER=melle
_=PWD
__CF_USER_TEXT_ENCODING=0x1F6:0:0

这是xcode4中的错误还是我,完全错误?

我目前的解决方法是滥用 ${BASH_SOURCE}找到返回我的项目目录的方法...

更新 : 看起来像 this is a bug in xcode 4.0.1 .如果直接在 Xcode 窗口中输入脚本,至少是变量 ${WORKSPACE_PATH}可用。

最佳答案

我发现在我的情况下,将脚本添加到目标的构建阶段而不是作为预操作是更好的解决方案:

  • 在项目导航器中选择项目。
  • 选择你的目标。
  • 转到构建阶段选项卡。
  • 添加一个新的构建阶段(脚本)。
  • 将其拖到编译源阶段上方。
  • 在那里添加您需要的任何脚本。您可以访问环境变量,例如 ${PROJECT_DIR} .

  • 您甚至可以让它为您输出日志导航器中的所有环境变量。

    此外,您调用的任何脚本的工作目录将自动设置为项目的目录。

    关于Xcode4:自定义构建前操作/后操作中的空环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600358/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com