由于Xcode不再自動(dòng)生成PCH文件(Precompile Prefix Header File)隧出,所以需要我們自己創(chuàng)建潮瓶,在新創(chuàng)建pch文件的時(shí)候赞庶,需要做的操作:
創(chuàng)建完成之后车吹,在Build Settings
里面找到下圖所示位置
關(guān)于路徑的填寫問題当辐,雙擊打開之后有個(gè)彈框,然后用鼠標(biāo)拖動(dòng)創(chuàng)建好的 PCH 文件晋渺,拖到彈框之后放手镰绎,就會自動(dòng)生成 PCH 的路徑
然后用$(SRCROOT)
替換一下,就可以了(注意替換前后顯示的路徑是一致的方可)
注意觀察木西,替換前后下圖顯示的路徑是沒有變化的
以下內(nèi)容網(wǎng)上查找畴栖,屬于轉(zhuǎn)載,但發(fā)現(xiàn)也是轉(zhuǎn)載文章八千,嘗試但未找到原文章@Enrica_Shi
:
https://www.cnblogs.com/wzdevelop/p/7339262.html
二恋捆、編輯PCH文件
?由于編輯器會自動(dòng)幫你把所有的預(yù)編譯文頭文件導(dǎo)入到項(xiàng)目所有的源文件中照皆,所以從編程規(guī)范上講,應(yīng)該利用條件編譯將Objective-C頭文件隔離起來沸停。尤其是在混合編程時(shí)膜毁,這種操作就顯得格外重要。下面就具體演示一下愤钾。
?先在PCH文件中隨便導(dǎo)入一個(gè)OC分類的頭文件瘟滨,然后在項(xiàng)目中新建一個(gè)C語言文件,在沒有利用條件編譯對OC分類頭文件進(jìn)行有效隔離的情況能颁,按住command + B鍵編譯一下杂瘸,看看會出現(xiàn)什么情況:
?因?yàn)榫幾g器會將PCH中的頭文件導(dǎo)入到項(xiàng)目中所有的源文件中,而C語言的源文件是不可能識別OC頭文件中的內(nèi)容的伙菊,所以編譯器會報(bào)一堆的錯(cuò)誤‰誓現(xiàn)在修改PCH文件,利用條件編譯將OC分類的頭文件進(jìn)行隔離占业,然后再重復(fù)上面的操作看一下還有沒有報(bào)錯(cuò):
?#ifdef OBJC(OBJC前后是兩條下劃線)和#endif可以將OC的頭文件與C語言的源文件進(jìn)行有效的隔離。也就是說纯赎,你在OC頭文件前后加了這個(gè)條件編譯之后谦疾,編譯器便不再將OC的頭文件拷貝到C語言的源文件中,它只會把OC的頭文件拷貝到OC的源文件中犬金,所以之前的錯(cuò)誤都消失了念恍。
?PCH文件可以很方便的將多個(gè)文件中都要使用的頭文件一次性導(dǎo)入到項(xiàng)目中所有的源文件中,同時(shí)晚顷,你也可以在PCH文件中定義全局使用的宏峰伙,這種操作可以有效幫你節(jié)約開發(fā)時(shí)間。但是该默,同時(shí)你也應(yīng)該注意到瞳氓,PCH文件的使用,無形中增加了項(xiàng)目編譯的時(shí)間栓袖,應(yīng)該有選擇性的慎重使用匣摘。