在Xcode6以前,建立一個新工程xcode會在Supporting files文件夾下面自動建立一個「工程名-Prefix.pch」文件,也是一個頭文件,pch頭文件的內容能被項目中的其餘全部源文件共享和訪問。是一個預編譯文件。ios
首先說一下pch的做用:編程
1.存放一些全局的宏(整個項目中都用得上的宏)xcode
2.用來包含一些所有的頭文件(整個項目中都用得上的頭文件)緩存
3.能自動打開或者關閉日誌輸出功能ui
雖然用了好久的Xcode6可是項目是xcode5以前建立好的,因此一開始並無發現缺乏了這個pch文件。蘋果爲何要這麼作呢,緣由多是由於你們把大量的頭文件和宏定義放到pch裏邊,致使編譯時間過長。蘋果去掉他多是要加快編譯時間增長用戶體驗。雖然失去了編程的便利性。不得不佩服蘋果的以用戶爲中心的思考方式。更詳細的討論能夠去Stackoverflow上去看http://stackoverflow.com/questions/24158648/why-isnt-projectname-prefix-pch-created-automatically-in-xcode-6。spa
如何在Xcode中添加pch文件:日誌
Command+N,打開新建文件窗口:ios->other->PCH file,建立一個pch文件code
2 io
在工程的TARGETS裏邊Building Setting中搜索Prefix Header,而後把Precompile Prefix Header右邊的NO改成Yes:編譯
3
而後在Precompile Prefix Header下邊的Prefix Header右邊雙擊,添加剛剛建立的pch文件的工程路徑,添加格式:「$(SRCROOT)/項目名稱/pch文件名」 ,$(SRCROOT)的意思就是工程根目錄的意思。若是還不太清楚的話能夠右鍵pch文件,而後show in finder:
上圖中黃色圈出來的就是$(SRCROOT),也就是工程的根目錄,而後後邊還有一個PchText和pch兩個文件夾,因此完整的pch文件的路徑就是:$(SRCROOT)/PchText/pch
添加完成後,他會自動幫你變成你工程所在的路徑:
能夠了,編譯一下程序,若是有錯誤檢查一下添加的路徑是否正確。
4
將Precompile Prefix Header爲YES,預編譯後的pch文件會被緩存起來,能夠提升編譯速度