Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch文件,但是在Xcode6中去掉Precompile Prefix Header文件.
Xcode6去掉Precompile Prefix Header的主要原因可以在于Prefix Header大大的增加了build的时间.没有了Prefix Header之后就要通过手动@import来手动导入头文件,在失去编程便利性的同时也降低了build的时间
如何在Xcode6中手动添加
(1) 在工程中添加一个pch文件,命名可以继续沿用Xcode5中的"工程名-Prefix.pch" 如图:
(2) 点Next进入,在该页面命名(默认是PrefixHeader.pch) 可以修改命名,一般沿用Xcode5中的命名方式 "工程名-Prefix.pch" ,然后点Create 就创建好了
(3) 修改工程配置文件,将创建的pch文件的路劲添加到building setting中的precompile header选项中去(路劲添加"$(SRCROOT)/项目名称/pch文件名"):
1.选择TARGETS -> 2.选择building setting -> 3. 选择All -> 4.在搜索框中输入prefix -> 5. 把Precompile Prefix Header改成YES 把Prefix Header写 $(SRCROOT)/项目名称/pch文件名 就可以了
至此,完成了手动添加pch文件,编译一下程序,如果有错误检查一下添加的路劲是否正确.
这里注意,开关Precompile Prefix Header时,pch的编译和导入机制是有很大不同的:
①.如果Precompile Prefix Header为YES,那么pch会被预编译,预编译后的pct文件会被缓存起来,从而提高编译速度
②.如果Precompile Prefix Header为NO,那么pch不会被预编译,而是在每一个用到它导入的框架类库的.m文件中编译一次,降低了编译速度
总结:既然苹果在Xcode6中去掉了Precompile Prefix Header文件,在开发的过程中可以计量少用pct文件,如果要用也要尽量减少pch文件中的内容,降低程序对pch文件的依赖