pch 文件配置
问题一:pch文件是什么?
问题二:pch文件在开发中起到什么作用?
问题三:如何设置pch文件?
-
pch文件是什么
- 预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里,它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码。在我的理解里是把一些宏定义(kScreenW等),一些要在多个类中使用的头文件在此文件中书写。简单来说,在.pch文件中定义的宏定义会作用到项目中的所有文件。
-
pch文件的作用
- 对于xcode6以后创建工程不在自动添加.pch文件了,很多资料认为.pch文件会影响效率。我觉得.pch文件总体上会加速编译,因为xcode会对.pch文件中的定义预编译并缓存。之所以减慢编译速度应该是因为很多开发者使用方式不对吧。
我们可以想到.pch是把双刃剑,提供便利性的同时如果使用不当可能增加Build的时间。 - 因此我们在使用时,要注意以下几点:
不要把绝大多数甚至是所有的宏定义放进来。
在某个类或者某几个类中使用的宏定义别放进来。
放置公用性高的头文件,比如使用率较高的fundation框架,第三方库头文件。
为了整洁性的要求,建议把公用性低的宏定义整理到某个头文件再将该头文件写入.pch文件。
- 对于xcode6以后创建工程不在自动添加.pch文件了,很多资料认为.pch文件会影响效率。我觉得.pch文件总体上会加速编译,因为xcode会对.pch文件中的定义预编译并缓存。之所以减慢编译速度应该是因为很多开发者使用方式不对吧。
-
如何设置pch文件
- 新建文件,选择PCH File
- 点击项目,选择Bulid Settings,在搜索框中写入Prefix Header
- 找到这一栏Precompile Prefix Header,将NO改为Yes
- 在Prefix Header这一栏后面双击出现白框,输入$(SRCROOT)/项目名/Prefix.pch注意这里的SRCROOT一定要大写,项目名不能出现汉字。