標籤:
一:為什麼Xcode6沒有自動建立Precompile Prefix Header
我們在寫項目的時候,大部分宏定義,標頭檔匯入都在Precompile Prefix Header檔案裡面。在Xcode 4, 5的模板工程中可以看到Precompile Prefix Header,但是在Xcode 6被閹割掉了,原因可以參考下面的連結:
http://stackoverflow.com/questions/24158648/why-isnt-projectname-prefix-pch-created-automatically-in-xcode-6
Xcode 6去掉Precompile Prefix Header的主要原因在於:
(1)去掉自動匯入的系統架構類庫的標頭檔,可以提高原檔案的複用性,便於遷移。
(2)一個肥胖無比的Prefix Header會大大增加Build Time。
二:使用Precompile Prefix Header的好處
為了取代在Prefix Header中自動匯入的架構,可以在每一個需要匯入系統架構的檔案中通過@import來手動匯入。如果在Prefix Header中匯入了,那麼我們在工程的每一個檔案中可以免費獲得使用的權利,而無需手動在每一個.h/.m檔案中匯入。該檔案確有其方便之處。
三:給工程中添加Precompile Prefix Header
如果一定要用到Precompile Prefix Header,可以參考Xcode 5的配置來手動設定。
(1)建立一個pch檔案: Command+N,開啟建立檔案視窗:ios->other->PCH file
(2)給pch檔案命名
在工程中增加一個pch檔案,命名還是按照Xcode 5的模板比較好:工程名-Prefix.pch,例如a-Prefx.pch
(3)修改工程設定檔,將剛剛建立的PCH file的路徑添加到building setting中的precompile header選項中去,注意debug和release兩欄都要添加:
注意:
- 將Precompile Prefix Header為YES,先行編譯後的pch檔案會被緩衝起來,可以提高編譯速度
修改pch檔案路徑按照如下格式:將building setting中的precompile header選項的路徑添加“$(SRCROOT)/項目名稱/pch檔案名稱”(例如:$(SRCROOT)/自訂數字鍵台/自訂數字鍵台-Prefix.pch)
(4)向pch檔案中添加檔案
至此,向Xcode6中添加pch檔案圓滿結束!
iOS 編程之使用Precompile Prefix Header