xcode6中如何添加pch檔案,
Xcode5中建立一個工程的時候,系統會自動建立一個以以工程名為名字的pch(Precompile Prefix Header)檔案,開發的過程中可以將廣泛使用的標頭檔以及宏包含在該檔案下,編譯器就會自動的將pch檔案中的標頭檔添加到所有的源檔案中去,這樣在需要使用相關類的時候不需要使用import就可以直接使用標頭檔中的內容,很大程度上給程式員帶來了編程的便利性。但是在Xcode6中去掉Precompile Prefix Header檔案。
Xcode6去掉Precompile Prefix Header的主要原因可能在於Prefix Header大大的增加了Build的時間。沒有了Prefix Header之後就要通過手動@import來手動匯入標頭檔了,在失去了編程便利性的同時也降低了Build的時間。
如何在Xcode6中手動添加Precompile Prefix Header?
(1)在工程中添加一個pch檔案,命名可以繼續沿用Xcode5中得“工程名-Prefix.pch”:
(2)修改工程設定檔,將建立的pch檔案的路徑添加到building setting中的precompile header選項中去(路徑添加“$(SRCROOT)/項目名稱/pch檔案名稱”):
至此,完成了手動添加pch檔案,編譯一下程式,如果有錯誤檢查一下添加的路徑是否正確。(假如你寫的時$(SRCROOT)這個開頭的,那就建在根目錄下,如果是$(PROJECT_DIR),那就無所謂了)
這裡注意,開關Precompile Prefix Header時,pch的編譯和匯入機制是有很大不同的:
(1)如果Precompile Prefix Header為YES,那麼pch會被先行編譯,先行編譯後的pch檔案會被緩衝起來,從而提高編譯速度。(2)如果Precompile Prefix Header為NO,那麼pch不會被先行編譯,而是在每一個用到它匯入的架構類庫的.m檔案中編譯一次,降低了編譯速度。
總結:既然蘋果在Xcode6中去掉了Precompile Prefix Header檔案,在開發的過程中可以盡量少用pch檔案,如果要用也要盡量減少pch檔案中得內容,降低程式對pch檔案的依賴。