2011-05-23 63 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