xcode4:可靠地检测项目/工作区的DerivedData目录
Xcode 4将所有内容都构build到$HOME/Library/Developer/Xcode/DerivedData/$PROJECT-$UUID
,其中$UUID
是一个看似随机的string(它不是随机的,它看起来是随机的)。
我如何可靠地检测到上面的$PROJECT-$UUID
部分? 我已经看到了一个脚本( https://gist.github.com/949831 ),它假设它是DerivedData中最后一个修改的目录 – 但是如果我的CI机器正在并行构build一些项目,则不是这样。
没有人回答,所以我一直在寻找的想法,直到我find了下面的,这符合我的需要。 它可以进一步修改更安全。
- 在Xcode中,将运行脚本构build阶段添加到目标(主要目标,如果为同一项目构build一些)。
- 在脚本中,把这一行:
ln -sf "$BUILD_DIR" BuildDir
现在,在构build目标时,将在项目目录中创build项目的DerivedData目录的符号链接。 如果可取的话,你也可以创buildBuildDir作为内容是$ BUILD_DIR的文件:
echo "$BUILD_DIR" > BuildDir
然后在脚本中使用$(cat BuildDir)
来检索它。