2013-10-07 62 views
36

我希望能有更好的文檔此爲Xcode的5,但我無法找到任何像樣的描述與工作區工作的最佳實踐,所以..的Xcode工作區與子項目和項目依賴建立觸發

在工作區與幾個項目(夫婦框架,1個應用程序)是有可能有Xcode的構建所有依賴項目需要(實測即改變)時的w/o具有以包括在所有依賴項目所有項目?

我寧願喜歡只是在依賴於它,而不是在它有5-6個子項目項目的框架,因爲這是剛剛在導航視圖一個爛攤子 - 子項目內部
文件顯示在搜索結果中,NavView中的子項目在項目內部以任何理由展開。

但是,不包括項目特定項目取決於我找不到一種方法讓Xcode 5如果其中一個依賴關係發生了變化,則自動重新構建框架

回答

5

您可以創建一個建立的所有目標的方案。

+1

嗯..真的 - 但這將是蠻力的方法。我寧願讓Xcode智能地構建所需的依賴關係。 – Jay

8

的XCode 5你必須去

  • 左側選項卡
  • 在選擇項目選擇目標在目標部分
  • 然後在構建階段>目標相關新聞社「+」
  • 選擇添加的項目作爲目標它將出現在目標依賴項列表中

如果有效,如果需要,構建所有目標依賴關係時將一起構建。

+3

不適用於我 - 如果當前項目所依賴的其他項目不能在* Build Phases *中添加,既不通過** + **也不通過工作區中的其他項目拖放。 – Jay

+0

先嚐試將第二個項目拖放到第一個項目上。然後轉到Build階段> Target Dependencies。這裏當按下「+」時,你應該看到第二個項目被選中。 – loretoparisi

+0

我在一個工作區中有一個框架和另一個項目,這解決了不構建依賴關係的工作區克隆問題。謝謝 –

43

這個方案的目的是爲另一個問題,但也許它填補你的需求。

加入您的子項目到工作區後:

  1. 選擇應該在構建階段「與庫鏈接二進制文件」使用新添加的子項目
  2. 在目標命中+ 按鈕
  3. 如果圖書館沒有出現點擊「添加其他...」
  4. 導航到項目文件(* .xcodeproj)所在的文件夾
  5. 將它標記並點擊「打開」
  6. 現在你應該看到的項目文件顯示「鏈接二進制 與庫」下
  7. 下的同一選項卡的「目標相關性」,打的+按鈕
  8. 現在你應該看到必要的文件
  9. 檢查你的並點擊「添加」
  10. 再次在「Link Binaries with Libraries」中點擊+按鈕
  11. 現在你的。一個文件應該顯示出來,你可以選擇並添加它

現在你正在爲你的目標使用選定的庫。爲需要此子項目的每個目標重複這些步驟。希望有所幫助!對於我來說,沒有因爲我不能設法依賴添加到它之前...

格爾茨,Tomte

+2

如果隱式依賴關閉關閉,這將不起作用,這會顯着減慢索引並在大型工作空間中構建。 –

+1

如果您在使用XCode 7時遇到問題,請參閱[Raspu's Answer](http://stackoverflow.com/a/34202139/616644)。 –

+0

請注意,這是一種將項目引用添加到項目的複雜方式。按照上述所有步驟操作後,嘗試從「鏈接庫與庫的鏈接」中刪除該項目,並注意在「目標依賴關係」部分仍然有對該項目的引用。這是因爲當項目被引入「Link Binaries with Libraries」時,該項目的引用被添加到項目中。您可以在「框架」目錄下找到該參考。 – Fostah

-1

考慮遷移到CocoaPods

它不僅將解決您的構建問題,而是與項目複雜如你描述時更新/添加/刪除框架,改變目標系統版本和解決依賴和衝突也將緩解你的生活。

而且您的工作將有可能成爲僅有的兩個項目。

+0

嗯 - 有趣。儘管當我們希望一次加載所有項目時,我無法看到依賴管理如何解決Xcode中的問題。 – Jay

+0

也許當前工作空間中依賴關係的依賴關係和依賴關係非常複雜,Xcode無法正確地決定再次構建什麼。 – Rivera

+0

只是很好的舊應用程序層,實際上 - 基礎類,模塊,應用程序構建在彼此之上。沒有周期,沒有什麼幻想。只是一些項目取決於系統底層的項目。 – Jay

14

爲防萬一別人在Xcode 7中遇到問題:確保您要添加的項目是子項目而不是打開,然後再添加或刪除它。

+1

謝謝你。我發現我還必須關閉另一個使用子項目的項目才能添加它。 (即「確保您想添加爲子項目的項目未打開,即使作爲另一個項目中的子項目,在您添加或刪除它之前」) – Kevin

+1

謝謝您感謝您將我的頭髮拉出一小時。 –

4

這是從Tomte的答案的。他的方法使我產生了依賴分析錯誤。這是一個更直接的方法,並解釋了爲什麼Tomte的答案有效:

  1. 單擊子項目並將其拖到需要定位子項目的項目中。
  2. 現在應顯示選項警報。確保如果需要複製項目未被選中。確保創建組被選中。確保沒有選擇任何項目的目標。按完成按鈕。
  3. 單擊剛添加子項目引用的項目。
  4. 單擊您想要依賴子項目的目標。
  5. 點擊目標依賴條件 +按鈕。
  6. 注意子項目的產品列爲選項。選擇它。

注意,使用Tomte的方法時,當項目被添加到鏈接二進制與圖書館,創建一個項目引用。該項目參考可以在項目的框架組中找到。

我矛盾,這是否是一個很好的方法還是不行。在我看來,計劃方法並不好。我真的很想知道爲什麼工作區項目默認沒有這種關係。

最起碼,這應該清理在Tomte的解決方案的魔力。