我使用以下脚本在OSX Yosemite 10.10.5上运行XCode(7.0.1 7A1001):
export FOO=bar #this should not be necessary, but just in case
launchctl setenv FOO bar #should make it visible to all GUI applications (=XCode)
open -a xcode
然后我打开一个包含两个项目的工作区: App1 和 App2 。在这两个项目中,我将$(HOME)/$(FOO)
放在标题搜索路径字段中。
/Users/ohads/bar
。/Users/ohads/
- 请注意HOME
变量是如何解析的,但FOO
变量不是。这里发生了什么?为什么会出现差异?如何让FOO
在App2中工作 - 是否有一些我丢失的特殊标志或声明?
export
(而不是launchctl
,这是人们应该用于GUI应用程序的情况,App1也可以工作,看作export
应该只影响现金申请。)
答案 0 :(得分:8)
看起来这与new XCode 7 behavior有关。为了使XCode使用环境变量,必须发出以下命令:
$ defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NO
发出此命令后,export
和launchctl
都会工作(根据chepner的评论)。我只能猜测它是在 App1 中工作的,因为它是在较旧的XCode版本中创建的。