2012-07-25 104 views
2

我有4個類似的iOS應用程序。他們是閃存卡應用程序,每個應用程序都有不同的主題。他們分享很多課程和圖像。現在我將其中的4個作爲單獨的項目,但我期望簡化維護和共享資源。將所有4個項目放在同一個工作區中,還是在一個項目中有4個目標?每種方法有哪些優點/缺點?他們看起來非常相似。具有多個項目或具有多個目標的一個項目的工作區?

回答

2

這是Marty發佈的PDF摘錄。這是一個很好的文件,但4.4MB並可能會被下線了很多人後下載它採取的;在一個項目

可以幫助確定)

把許多目標的權衡是否通過考慮一些涉及的權衡,將許多或全部目標放在一個項目中。以下是在一個項目中組合多個目標的一些優勢:

  • 跨所有目標的索引工作。需要索引信息才能訪問類瀏覽器中的類,查看項目符號智能組中的符號,並充分利用代碼完成。還有必要使用命令雙擊來跳轉到定義並使用符號對應。

  • 您可以輕鬆設置項目中各個目標之間的依賴關係。

  • 任何使用該項目的人都可以訪問其所有文件。

  • 如果您的計算機有多個CPU,或者您有權訪問網絡上的其他計算機,則可以使用並行構建或分佈式構建來提高大型項目的構建時間。有關詳細信息,請參閱「Xcode項目管理指南」中的「並行構建」和「縮短構建時間」。

這裏有一些把所有的目標,在一個項目的缺點:

  • 所有的代碼是使用項目中的任何個人或團隊可見,即使他們工作僅限於一個目標或整個項目的一小部分。

  • 該項目的規模可能會變得笨拙;這可能會導致Xcode花費很長時間來執行索引等操作。

  • 所有目標必須使用相同的SCM系統。

  • 所有目標必須使用相同的SDK構建。

  • 您不能使用Xcode調試器同時在一個項目中調試兩個可執行文件。使用多個項目

的權衡也有取捨分手軟件產品爲多個項目和目標。下面是一些使用多個項目的優勢:

  • 您可以使用該項目爲單位劃分爲不同的個人或團隊之間的工作。單獨的項目允許您分隔代碼(例如,限制對機密信息的訪問)。

  • 每個項目的大小可以更容易管理,Xcode可以更快地執行索引,構建和其他操作。

  • 如果項目需要共享輸出,它們可以構建到一個公共目錄中,如Xcode Project Management Guide中的「構建位置」中所述。

  • 您可以使用跨項目引用來構建當前項目所需的其他項目。

  • 每個項目都可以使用存儲在不同SCM系統中的源代碼。但是,如果個人可以實際訪問其他項目,則仍然可以查看來自使用相同SCM系統的多個項目的SCM信息。

  • 每個項目都可以使用不同的SDK。

  • 每個項目都可以定義一個單獨的構建配置列表。

  • 您可以使用調試器同時調試兩個或多個可執行文件,每個項目中有一個可執行文件。當產品直接溝通或以其他方式進行交流時,這很有用

下面是一些有多個項目和指標的缺點:

  • 您不必跨項目索引,因此你只有到專門的暴露符號訪問其他的項目。這意味着,例如,除非您有實際的訪問權限(不僅限於其最終產品),否則不能自動查找其他項目中的定義。同樣,您不能充分利用依賴於索引的其他功能。這包括使用代碼完成,使用Command-雙擊跳轉到定義,重構和使用符號對應。

  • 許多小型項目的管理很可能會產生額外的開銷。例如,要設置依賴多個項目中其他目標的目標,必須先設置交叉項目引用。

    同樣,使用多個項目可能需要團隊之間的額外溝通。

  • 對於在多個項目中工作的人員,在許多打開的項目之間切換可能會變得很難處理。但是,使用管理器可能會緩解此問題(請參閱使用管理器瞭解詳細信息)。

  • 單個項目規模較小,不太可能利用分佈式構建。

+0

我發現那位文件Scribd,也許它會較長時間處於聯機狀態有:http://www.scribd.com/doc/ 238735259/ITE-DEV-IDE-Xcode的蘋果,Xcodeguide – StijnSpijker 2014-09-05 09:44:33

相關問題