在Xcode6之前,創(chuàng)建一個新工程xcode會在Supporting files文件夾下面自動創(chuàng)建一個“工程名-Prefix.pch”文件参歹,也是一個頭文件,pch頭文件的內(nèi)容能被項(xiàng)目中的其他所有源文件共享和訪問。是一個預(yù)編譯文件蜜氨。
首先說一下pch的作用:
1.存放一些全局的宏(整個項(xiàng)目中都用得上的宏)
2.用來包含一些全部的頭文件(整個項(xiàng)目中都用得上的頭文件)
3.能自動打開或者關(guān)閉日志輸出功能
雖然用了很久的Xcode6但是項(xiàng)目是xcode5之前創(chuàng)建好的,所以一開始并沒有發(fā)現(xiàn)缺少了這個pch文件埋哟。蘋果為什么要這么做呢,原因可能是因?yàn)榇蠹野汛罅康念^文件和宏定義放到pch里邊赤赊,導(dǎo)致編譯時間過長。蘋果去掉他可能是要加快編譯時間增加用戶體驗(yàn)抛计。雖然失去了編程的便利性。不得不佩服蘋果的以用戶為中心的思考方式瘦陈。更詳細(xì)的討論可以去Stackoverflow上去看http://stackoverflow.com/questions/24158648/why-isnt-projectname-prefix-pch-created-automatically-in-xcode-6波俄。
如何在Xcode中添加pch文件:
Command+N,打開新建文件窗口:ios->other->PCH file懦铺,創(chuàng)建一個pch文件
2
在工程的TARGETS里邊Building Setting中搜索Prefix Header,然后把Precompile Prefix Header右邊的NO改為Yes:
3
然后在Precompile Prefix Header下邊的Prefix Header右邊雙擊趁窃,添加剛剛創(chuàng)建的pch文件的工程路徑,添加格式:“$(SRCROOT)/項(xiàng)目名稱/pch文件名” 棚菊,$(SRCROOT)的意思就是工程根目錄的意思叔汁。如果還不太清楚的話可以右鍵pch文件,然后show in finder:
上圖中黃色圈出來的就是$(SRCROOT)据块,也就是工程的根目錄,然后后邊還有一個PchText和pch兩個文件夾像屋,所以完整的pch文件的路徑就是:$(SRCROOT)/PchText/pch
添加完成后,他會自動幫你變成你工程所在的路徑:
可以了己莺,編譯一下程序戈轿,如果有錯誤檢查一下添加的路徑是否正確。
4
將Precompile Prefix Header為YES思杯,預(yù)編譯后的pch文件會被緩存起來,可以提高編譯速度
文/Tsuru(簡書作者)
原文鏈接:http://www.reibang.com/p/67ce72c4ad6c
著作權(quán)歸作者所有誊册,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),并標(biāo)注“簡書作者”案怯。