为什么xcode6之后没有自动创建pch文件呢?
简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Header之后就要通过手动@import来手动导入头文件了,在失去了编程便利性的同时也降低了Build的时间。具体原因
StackOverFlow上讨论的已经比较清晰了
StackOverFlow:为什么xcode6没有自动创建pch文件呢?
第一步:Command+N,打开新建文件窗口:ios->other->PCH file,创建一个pch文件:“工程名-Prefix.pch”:
第二步:
2.1 将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度。
2.2 将building setting中的precompile header选项的路径添加“$(SRCROOT)/项目名称/pch文件名”(例如:$(SRCROOT)/pictest/test.pch)
验证:添加代码定义宏测试:
#ifdef __OBJC__
#import
#endif
pch文件的作用:
1.存放一些全局的宏(整个项目中都用得上的宏)
2.用来包含一些全部的头文件(整个项目中都用得上的头文件)
3.能自动打开或者关闭日志输出功能
/************__OBJC__BEGIN************/
// 里面的所有内容只能用到.m文件中或者.mm
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#ifdef DEBUG // 调试阶段
#define MJLog(...) NSLog(__VA_ARGS__)
#else // 发布阶段
#define MJLog(...)
#endif
#define ABC 10
#endif
/************__OBJC__END************/