2011-10-31 97 views
5

假設我在Xcode 4工作區中有2個項目。項目A是最終產品,它需要從項目B構建的實用程序應用程序。目標是讓A的構建過程在必要時自動構建項目B,然後將構建的應用程序複製到產品A的應用程序包的資源文件夾中。Xcode:如何將構建的產品從一個項目添加到另一個項目中?

Xcode 4的文檔在這方面真的很缺乏。我嘗試將內置的B.app添加到項目A中,使用將文件添加到「項目A」...命令。它沒有複製應用程序包,但它不檢查依賴關係。也就是說,它不會在更新時自動構建項目B.

任何指針找到正確的文檔也非常感謝。

編輯:我期待實現這一doc提到的第2個好處,是:

  • 一個項目都可以使用的產品的另一個項目的同時建設。

  • 如果一個項目依賴於另一個在同一 工作空間的產品,Xcode中可以檢測到這一點,並自動以正確的順序構建項目 。

我知道將項目添加到另一個項目的普通舊項目方式作爲子項目,所以我可以設置目標依賴項。但從工作區文檔的措辭來看,似乎有一種更簡單和自動的方式。但我無法找到執行這兩個功能中的任何一個的步驟。

回答

4

在項目A的目標屏幕的「構建階段」選項卡中,將項目B添加爲「目標依賴項」。 (當您單擊頂級項目節點上,你得到的屏幕)

更新:
看來,如果第二個項目是的一個子項目,一個項目只能定義另一個項目作爲依賴的輸出第一:

I can define the output of Project B as dependency of A in this constellation

如果您的工作空間具有以下結構,定義的依賴是不可能的: Output of B does not show up in the dependency editor of A in this constellation

+0

感謝。但是,這就像在舊的項目方式,對不對?我認爲這個新的工作空間有一個更好的方法。在我發現的唯一文檔中(http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/NewProject/NewProject.html)它提到:「一個項目可以使用另一個項目的產品,同時建造。」和「如果一個項目依賴於另一個項目的產品在同一個工作區中,Xcode可以檢測到這一點,並以正確的順序自動構建項目。」後者顯然不適合我的情況。 –

+0

看來B必須是A的一個子項目,以便它的輸出顯示在A的依賴編輯器中。我用屏幕更新了我的原始答案。 –

+0

感謝您的更新。我正在尋找新的「神奇」工作區方式。但似乎蘋果只是吹這個熱氣。這與舊的項目方式完全相同。我沒有看到使用新工作區的好處。 Xcode甚至混淆了這種古老的方式。它不會將產品B自動添加到複製資源階段。我必須手動構建B並將B.app添加到A.即使這樣,它仍然會將其混淆。我指定了發佈的B被複制。但是當構建A進行調試時,它構建了一個調試B,並且因爲它位於不同的構建目錄中而無法找到B.app來進行復制。哦,我的... –

0

的Xcode 8版本8.2.1(8C1002)

第1步 - 創建一個工作區。 enter image description here

步驟2 - 將伸入工作區作爲兄弟節點 enter image description here

步驟3 - 添加構建產物之一,作爲嵌入二進制,對於其他。 enter image description here

第4步 - 創建代碼,在必要時聲明公開。 enter image description here

第5步 - 使用代碼 enter image description here

+0

OP想要添加構建的產品,而不是源文件,這是項目B目錄中的內容。 –

+0

@ScottMarks這個答案就像一個數百萬年前的。將在一分鐘內更新答案。 – 2017-03-07 09:47:18

相關問題