首页 > 代码库 > 鱼和熊掌都要吧!
鱼和熊掌都要吧!
前言:本文部分部片採取网上的图片。
自从Xcode六之后苹果就取消掉pch.降低编译时间和添加性能
在Xcode6之前。创建一个新projectxcode会在Supporting files目录以下自己主动创建一个“project名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其它全部源文件共享和訪问。是一个预编译文件。
首先说一下pch的作用:
1.存放一些全局的宏(整个项目中都用得上的宏)
2.用来包括一些所有的头文件(整个项目中都用得上的头文件)
3.能自己主动打开或者关闭日志输出功能
尽管用了非常久的Xcode6可是项目是xcode5之前创建好的,所以一開始并没有发现缺少了这个pch文件。苹果为什么要这么做呢,原因可能是由于大家把大量的头文件和宏定义放到pch里边,导致编译时间过长。苹果去掉他可能是要加快编译时间添加用户体验。
尽管失去了编程的便利性。不得不佩服苹果的以用户为中心的思考方式。更具体的讨论能够去Stackoverflow上去看http://stackoverflow.com/questions/24158648/why-isnt-projectname-prefix-pch-created-automatically-in-xcode-6。
怎样在Xcode中加入pch文件:
Command+N,打开新建文件窗体:ios->other->PCH file,创建一个pch文件
2,在project的TARGETS里边Building Setting中搜索Prefix Header,然后把Precompile Prefix Header右边的NO改为Yes:
3.然后在Precompile Prefix Header下边的Prefix Header右边双击,加入刚刚创建的pch文件的project路径,加入格式:“$(SRCROOT)/项目名称/pch文件名称” 。$(SRCROOT)的意思就是project根文件夹的意思。
假设还不太清楚的话能够右键pch文件。然后show in finder:
上图中黄色圈出来的就是$(SRCROOT),也就是project的根文件夹。然后后边另一个PchText和pch两个文件夹。所以完整的pch文件的路径就是:$(SRCROOT)/PchText/pch
加入完毕后。他会自己主动帮你变成你project所在的路径:
能够了,编译一下程序。假设有错误检查一下加入的路径是否正确。
4。将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,能够提高编译速度
祝好
鱼和熊掌都要吧!