在ios和osx的開(kāi)發(fā)中绪囱,難免要定義一些宏舌仍,以及在整個(gè)項(xiàng)目中的大部分文件中要包含一些必須的.h頭文件,還有在debug的時(shí)候希望看到日志輸出谐算,release的時(shí)候去掉這些日志(也就是日志開(kāi)關(guān)功能)又沾,pch文件中可以很方便的幫助我們實(shí)現(xiàn)上述的需求弊仪。在xcode6之前都是項(xiàng)目創(chuàng)建自帶的pch,但現(xiàn)在需要蘋(píng)果去掉了這個(gè)文件杖刷,使用的時(shí)候需要我們自己手動(dòng)去創(chuàng)建一下励饵。其實(shí)步驟很簡(jiǎn)單,由于自己最近都在做一些PC端的開(kāi)發(fā)滑燃,開(kāi)發(fā)周期比較長(zhǎng)役听,長(zhǎng)時(shí)間的不使用也會(huì)淡忘,所以寫(xiě)下來(lái)步驟方便有需要的同學(xué)表窘,也給自己增加印象典予,方便自己查找使用。
1乐严、創(chuàng)建PCH文件瘤袖。
在xcode中Command+N,打開(kāi)新建文件窗口昂验,在ios或macOS->other->PCH file,創(chuàng)建pch文件捂敌。
2艾扮、設(shè)置pch預(yù)編譯
在工程的TARGETS中的Build Settings中搜索Prefix Header,將Precompile Prefix Header預(yù)編譯選項(xiàng)設(shè)置為YES占婉。
3泡嘴、配置PCH路徑。
Prefix Header右邊雙擊锐涯,添加路徑磕诊,路徑格式為:"$(SRCROOT)/項(xiàng)目名稱/pch文件名"。
(擴(kuò)展一下:這里的的$(SRCROOT)是xcode中的環(huán)境變量纹腌,是工程根目錄的意思。其他還有一些比較常見(jiàn)的滞磺,比如$(TARGET_NAME)工程名稱升薯、$(CURRENT_PROJECT_VERSION)目前版本號(hào)、$(PRODUCT_NAME)產(chǎn)品名稱等击困。)
4涎劈、完成測(cè)一下
至此,已經(jīng)完成pch的創(chuàng)建和配置阅茶,下面我們來(lái)定義一個(gè)宏蛛枚,測(cè)試一下到底有沒(méi)有用。在pch文件中定義一個(gè)test:
#define TEST @"hello world"
然后在程序中引用一下測(cè)試脸哀。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(TEST);
}
return 0;
}
輸出結(jié)果如下:
接下來(lái)就可以愉快的使用pch提高我們的開(kāi)發(fā)效率了蹦浦。