添加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
可以保存下这段代码,需要的时候直接导入就行了.有了真机不打印之后,明显应用流畅好多.