2011-05-23 75 views
5

Xcode 4将所有内容都构建为$HOME/Library/Developer/Xcode/DerivedData/$PROJECT-$UUID,其中$UUID是一个看似随机的字符串(它不是真正的随机,它看起来是随机的)。xcode4:可靠地检测项目/工作区的DerivedData目录

如何可靠地检测到$PROJECT-$UUID上面的部分?我看过一个脚本(https://gist.github.com/949831),它假设它是DerivedData中最后一个修改过的目录 - 但如果我的CI机器正在并行构建一些项目,则不是这样。

回答

7

没有人回答,所以我一直在寻找想法,直到找到满足我需求的下面一个。它可以进一步修改为更安全。

  1. 在Xcode中,将运行脚本构建阶段添加到目标(主要目标,如果为同一项目构建几个)。
  2. 在脚本,把这个行:

ln -sf "$BUILD_DIR" BuildDir

现在,当目标是建立一个符号链接到项目的DerivedData目录将在项目目录中创建。 如果需要,还可以/而是创建BuildDir作为文件谁的内容是$ BUILD_DIR:

echo "$BUILD_DIR" > BuildDir

然后在脚本中使用$(cat BuildDir)进行检索。

+0

伟大的小费...谢谢 – Fattie 2011-10-11 12:46:58