xcode4:可靠地检测项目/工作区的DerivedData目录

时间:2011-05-23 14:07:00

标签: xcode ios build

Xcode 4将所有内容构建到$HOME/Library/Developer/Xcode/DerivedData/$PROJECT-$UUID,其中$UUID是一个看似随机的字符串(它不是随机的,它看起来是随机的)。

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

1 个答案:

答案 0 :(得分:7)

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

  1. 在Xcode中,向目标添加运行脚本构建阶段(主目标,如果为同一项目构建一些)。
  2. 在脚本中,输入以下行:
  3. ln -sf "$BUILD_DIR" BuildDir

    现在,当构建目标时,将在项目目录中创建项目的DerivedData目录的符号链接。 如果需要,您还可以/而不是创建BuildDir作为文件,其内容是$ BUILD_DIR:

    echo "$BUILD_DIR" > BuildDir

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