pch文件说白了就是一个头文件,只不过这个头文件的类在全局都可以使用,所以说非常的方便,并不用在每个类里面都写一些重复类的头文件,只要将用到的类的头文件放到pch文件里面就行了,当然了还有就是宏定义,这肯定也是必须的。
那么这么好用的怎么使用的。
1.
command + n 新建一个pch文件,在Xcode8.2里面要往下选(因为pch文件在下面上面是没有pch这个文件类型的),
如图:(上面是没有pch文件的,需要往下拉,拉到最下面你就会看到了。)
接着next,然后就是输入pch文件的名字了然后继续就好了一半。刚建好的文件里面会有一些注释,是可以删掉的。如图:
所有的第三方类和自己的类的头文件就可以这个里面,当然了肯定少不了宏定义。配置好(pch文件还需要配置,创建好只是第一步,不配置的话是用不了的,配置过后就可以用了)就可以在整个项目里调用这里的类。
2.
就是配置pch文件了。
第一步:在工程的TARGETS里边Building Setting中搜索Precompile Prefix Heade,然后把Precompile Prefix Header右边的NO改为Yes:
如图:
第二步:再继续搜索Prefix Heade,找到Prefix Heade,就在倒数第三四行。
如图:
然后找到pch文件,show in finder,然后就是编辑Prefix Heade,在右边双击,紧接着就是将刚才的pch文件用鼠标拉进来就OK了。
如图:
最后一个小插曲:
刚才的那种方法(就是把文件拉进来的这种方法)只适合于个人开发,不适合合作开发 ,因为存储的目录有电脑名字和用户的名字,换个电脑就会报错找不到这个文件,那怎么办呢???
其实很简单,因为这个事绝对路径,就是死的,解决的办法就是把路径换成相对路径,就是相对于这个项目的位置。
$(SRCROOT)就代表项目的位置就是放置项目的那个文件夹,就参照他就可以了。
如图:
$(SRCROOT) 就是左边的pch文件夹,那么这个项目里的Prefix Heade就应该为$(SRCROOT)/PrefixHeader.pch,command + b 你就会发现和第一种方法的路径是一样的。
这样的话合作开发就没问题啦。好啦就这样啦。