添加pch文件
Xcode6之后不會自動創建-Prefix.pch文件到你的工程里,所以我們想使用pch文件的話得自己手動導入,下面就介紹下如何手動添加pch文件到工程目錄中去。
(1)打開你已經存在的XCODE工程. 選擇 File > New > File > iOS > Other > PCH File 然后點擊下一步.這里寫圖片描述
(2)給你的PCH文件起名字projectName-Prefix.pch. 例如你的項目工程名為smallDemo然而你的PCH 文件的名字應該為 smallDemo-Prefix.pch然后點擊創建按鈕.
(3)找到 Project > Build Settings > 搜索 “Prefix Header“
(4)根據圖中所示找到Apple LLVM X.0 -Language,然后找到Prefix Header,雙擊之后如圖添加該PCH文件地址,輸入$(SRCROOT)/pchFile.pch
這里寫圖片描述
這樣pch文件就被添加到工程目錄當中去了.
pch文件的使用——NSLog函數真機不打印
在實際項目中NSLog函數打印信息是必不可少的事情,可以友好的幫助我們調試程序,然而在模擬器上占用的是電腦的內存,但在真機上線時如果不把NSLog函數屏蔽掉,勢必會造成內存的占用,性能的減弱,這對做一款優秀的App的出發點是十分違背的,所以在真機中借助PCH設置全局變量不打印NSLog函數是實戰項目中必不可少的要求。
具體實現方法如下:
選擇 PCH 文件(文章的示例文件為 smallDemo-Prefix.pch) 并且替換文件內容,內容如下.
#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"[文件名:%s]\n"
"[函數名:%s]\n" "[行號:%d] \n" fmt),
__FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);
#define DeBugLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__,
__LINE__, ##__VA_ARGS__);
#define NSLog(...) NSLog(__VA_ARGS__);
%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String],
__LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define DLog(...)
#define DeBugLog(...)
#define NSLog(...)
#define MyNSLog(FORMAT, ...) nil
#endif
可以保存下這段代碼,需要的時候直接導入就行了.有了真機不打印之后,明顯應用流暢好多.