XCode 不识别环境变量

XCode doesn't recognize environment variables

我使用以下脚本 运行 XCode (7.0.1 7A1001) on OSX Yosemite 10.10.5:

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

然后我打开一个包含两个项目的工作区:App1App2。在这两个项目中,我都将 $(HOME)/$(FOO) 放在 Header 搜索路径 字段中。

这是怎么回事?为什么会出现差异?如何使 FOO 在 App2 中工作 - 是否缺少某些特殊标志或声明?

顺便说一句,好像这还不够奇怪,即使我只使用 export App1 也能正常工作(与 launchctl 相反,后者应该用于 GUI 应用程序,见 export 应该只影响现金申请)。

看起来这与 new XCode 7 behavior 有关。为了 XCode 使用环境变量,必须发出以下命令:

$ defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NO

发出此命令后,exportlaunchctl 都起作用(根据 chepner 的评论)。我只能猜测它在 App1 中工作,因为它是在较旧的 XCode 版本中创建的。