Xcode 包含了一個強大的聯編系統,可以生成一系列的 Mac OX X 產品,如:框架、庫、應用程式、命令行工具等等。使用 Xcode 預定義的項目和目標模板,您可以很方便地聯編這些產品。但是,Xcode 聯編系統也很靈活,允許您訂製聯編的過程,對其進行裁減以符合您項目的特殊需要或支持您喜好的工作流。 Xcode 聯編系統的特性包含: 易於配置和可訂製的聯編過程。用於生成單一產品的輸入和指令由一個目標指定。Xcode 將定義、配置生成產品的目標的過程變得簡單。 支持多個聯編系統。除了它自己的本地聯編系統,Xcode 為外部聯編系統提供了支持。 減少聯編產品時間的高級特性。使用這些特性,您可以縮短編輯-聯編-調試的周期,提高生產率。 為聯編過程自動化提供的命令行聯編工具。
配置目標,支持多個聯編系統,提速聯編周期,命令行聯編,
配置目標
用於生成單一產品的輸入和指令由目標指定。您可以通過配置目標來修改生成的產品,如何聯編它,聯編該產品所需的步驟。一個目標中的信息由以下幾方面組成: 聯編階段將用於聯編過程的輸入檔案以及作捉台廈用於這些檔案上的操作集合在一起。您可以通過增加、或修改聯編階段來改變一個給定任務的輸入,或者讓Xcode 在聯編中執行額外的任務。要知道更多有關聯編階段的信息,請參閱“聯編階段”。 聯編設定指定了如何執行用於聯編產品的操作。您可以通過增加、刪除、或改變聯編設定的值來改變如何聯編一個產品。您也可以定抹說戀義您自己的聯編設定。 聯編規則指定了處理某種類型檔案的工具或指定的匹配條件。聯編規則允許您指定如何處理用於生成產品的輸入檔案。 Xcode 也定義了聯編風格。一個聯編風格是一個目標上的變數,允許您不必重新生成整個目標就可以覆蓋目標上的一些聯編設定。這樣,您可以做一些微小的改變而被聯編的產品沒有重複的目標拷貝。與目標不同,聯編風格僅包含聯編設定。您可以在項目中對所有的目標套用同樣的聯編風格。
支持多個聯編系統
Xcode 支持多個聯編系統。Xcode 本地聯編系統執行它自己的基於檔案級別的依賴性分析,並直接調用處理目標聯編檔案的工具。除了它自己的本地聯編系統,Xcode 也提供了使用外部聯編工具的支持;這些外部工具負責執行依賴性分析並調用其它必要的工具來編譯、連結、以及其它聯編您產品所需要的步驟。 由 Xcode 定義的每種目標類型有與之相關聯的聯編系統。除了它本身的本地聯編系統,Xcode 提供了對以下聯編系統的支持: 自定義的外部聯編系統。Xcode 允許您定義一個目標使用您選擇的一個外部聯編系統,例如make,ant等等。由該類型回饋給 Xcode 的信息量是有限的,因此 Xcode 中許多依賴於詳細聯編信息的特性對於使用外部聯編系統的目標是不可用的。基於 Jam 的 Project Builder 聯編系統。為了與已經存在的 Project Builder 之間的兼容,Xcode 支持 Project Builder 使用的聯編系統,其使用jam聯編工具。 除非零星指明,本文檔描述的是 Xcode 的本地聯編系統。
提速聯編周期
Xcode 聯編系統包含為聯編的快速迴轉設計的一系列特性,縮短了編輯-聯編-調試的周期。這些特性包括: 預編譯頭檔案。 Xcode 提供了對預定義習宙頭檔案的自動支持。如果您提供了一個包含在您目標源檔案中普遍使用的頭檔案集合的預定義頭檔案,Xcode 將會預編譯該頭檔案並將其包含在每一個源檔案中。預定義頭檔案以及其所包含的頭檔案僅被編譯一次,減少了在目標中重複編譯共有頭檔案所花的時間。 預知編譯。 預知編譯是為加速單一檔案改變時編譯所設計的。當您在項目中激活預知編譯時,Xcode 會開始編譯當前目標聯編所需的檔案,即使您正在該目標中編輯檔案。當您開始一個聯編時,一些編譯的工作在後台已經完成了。 分散式聯編。聯編一個目標所需的許多任務—如編譯源檔案—是謎歸迎墊可以同步進行的。您擁有的處理器數目越多,您可以同時執行的聯編操作也越多,這樣聯編您的產品所需的總時間就會減少。Xcode 提供了在一個網路上向多台計算機散發聯編任務的能力,從而利用網路上極可能多的處理器。 ZeroLink。ZeroLink 允許您通過從開發構件中消除連結過程從而縮短開發的過程轎危己。
命令行聯編
除了可以在 Xcode 應用程式中聯編您的產品,您還可以使用xcodebuild命令行工具在命令行聯編產品。例如,使用xcodebuild工具,精妹罪您可以創建一個腳本在特定時間自動聯編或者同時聯編多個項目。 在 Xcode 應用程式內聯編具有易於編輯和調試的優點;您所需的所有的工具全部集成在一個應用程式中。另一方面,汗匙台凳您可以從一個腳本中調用xcodebuild,使其易於聯編過程的自動化。
命令行聯編
除了可以在 Xcode 應用程式中聯編您的產品,您還可以使用xcodebuild命令行工具在命令行聯編產品。例如,使用xcodebuild工具,您可以創建一個腳本在特定時間自動聯編或者同時聯編多個項目。 在 Xcode 應用程式內聯編具有易於編輯和調試的優點;您所需的所有的工具全部集成在一個應用程式中。另一方面,您可以從一個腳本中調用xcodebuild,使其易於聯編過程的自動化。