Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上给程序员带来了编程的便利性。但是在Xcode6中去掉Precompile Prefix Header文件。
Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Header之后就要通过手动@import来手动导入头文件了,在失去了编程便利性的同时也降低了Build的时间。
如何在Xcode6中手动添加Precompile Prefix Header?
(1)在工程中添加一个pch文件,命名可以继续沿用Xcode5中得“工程名-Prefix.pch”:
(2)修改工程配置文件,将创建的pch文件的路径添加到building setting中的precompile header选项中去(路径添加“$(SRCROOT)/项目名称/pch文件名”):
至此,完成了手动添加pch文件,编译一下程序,如果有错误检查一下添加的路径是否正确。
这里注意,开关Precompile Prefix Header时,pch的编译和导入机制是有很大不同的:

(1)如果Precompile Prefix Header为YES,那么pch会被预编译,预编译后的pch文件会被缓存起来,从而提高编译速度。
(2)如果Precompile Prefix Header为NO,那么pch不会被预编译,而是在每一个用到它导入的框架类库的.m文件中编译一次,降低了编译速度。
总结:既然苹果在Xcode6中去掉了Precompile Prefix Header文件,在开发的过程中可以尽量少用pch文件,如果要用也要尽量减少pch文件中得内容,降低程序对pch文件的依赖。
参考自:http://blog.csdn.net/jymn_chen/article/details/39314163

Xcode6与Xcode5之间的细节差别(Precompile Prefix Header)相关推荐

  1. 关于同网段内主机之间通信细节

    关于同网段内主机之间通信细节 @(计算机网络) 如果主机A向处于同一子网段的主机B(IP地址为172.16.204.89/16)发送一个分组,那么主机A使用的"这个网络上特定主机" ...

  2. 为何银行各岗位之间的薪酬差别如此之大?

    银行里的职位种类相对较多,观观整理了5个最常见的职位,看一下你要申请的职位薪资水平到底是怎样的?根据如信银行考试中心发布: 1.客户经理岗 客户经理分为对公客户经理和对私客户经理,他们的主要工作不同, ...

  3. 并查集类的c++封装,比较union_find algorithm四种实现方法之间的性能差别

    问题描述: 在计算机科学中,并查集是一种树型的数据结构,其保持着用于处理一些不相交集合(Disjoint Sets)的合并及查询问题.有一个联合-查找算法(union-find algorithm)定 ...

  4. oracle和db2之间的基本差别

    Oracle 和 DB2的区别如下: 1.取前N条记录 Oracle:Select * from TableName where rownum <= N; DB2:Select * from T ...

  5. Java应用程序与小程序之间有那些差别?

    简单说应用程序是从主线程启动(也就是main()方法).applet小程序没有main方法,主要是嵌在浏览器页面上运行(调用init()线程或者run()来启动),嵌入浏览器这点跟flash的小游戏类 ...

  6. 关于 virtualbox 和 vm 之间的细节吐槽

    变成吐槽 virtualbox 了 因为个人学习和使用习惯,需要安装虚拟机时一般会首选 virtualbox ,但是吧它不争气啊 测试版本:Virtualbox 6.1.26 以及 VMware 16 ...

  7. ISDN交换机,ATM交换机,ATM/FastGB以太网交换机,工作与交换机之间有什么差别?

    ISDN交换机 ISDN的目的是使多种业务综合利用一个网络.ISDN交换机就是能交换多种业务的交换机.鉴于ISDN仍以 64kb/s电路交换为基础,ISDN交换机可由数字程控电话交换机配置必要的ISD ...

  8. xcode6如何导入全局头文件

    如题,之前Xcode5的话是在prefix文件内import一次,就可以全局使用了,xcode6取消了prefix文件,替代的方法是什么呢? 没有什么替代方法,可能是苹果出于对项目构建或其他优化的考虑 ...

  9. xcode6创建工程时 默认去掉了PrefixHeader.pch

    在Xcode6之前,我们习惯将公用的宏和头文件统一放在 PrefixHeader.pch中,但是在Xcode6中去掉了PrefixHeader.pch. 原因:去掉Precompile Prefix ...

  10. iOS开发 - OC - PCH文件使用

    一. PCH文件的作用 Xcode中,PCH文件在程序编译的时候会自动包含进去.也就是说PCH中的内容是全局的,可以使用在程序的任何地方,通过这个特性,我们可以概括到PCH的作用有以下几个方面: (1 ...

最新文章

  1. 三国演义人物出场统计代码含义_实例2之《三国演义》人物出场统计
  2. API测试工具Postman的下载安装与使用
  3. java中main函数解析
  4. 系统图标及其注册表项
  5. 【飞控理论】从零开始学习Kalman Filters之一:Kalman Filters的常见用途、什么是状态观测器?
  6. 剑指Offer_47_求1+2+3+...+n
  7. 自己动手实现神经网络分词模型
  8. 委托(delegate)的三种调用方式:同步调用,异步调用,异步回调
  9. SQL Server存储过程实例
  10. 你知道ISO27000信息安全管理标准族有多少?
  11. hen Content must be served over https解决方案
  12. movs 数据传送指令_1.数据传送指令中,错误的操作是()。 A.MOVSS[BX+DI],1000H B.......
  13. Ubuntu20.04浏览器上网慢解决方法——体验优化
  14. SNS2124SNS2224SNS2248 光纤交换机配置
  15. 小米用户画像_小米10/10pro的目标用户画像是怎样的呢??
  16. Grubbs Test
  17. dso与Android,DSO 安装及运行 —— dso_ros + Android 手机摄像头
  18. RIV A128显卡维修
  19. 杭电网安复试上机编程题
  20. ArcGIS如何加载水经注下载的图片?

热门文章

  1. php的laravel框架下载,Laravel(PHP开发框架)官方下载 5.4稳定版_Win10镜像官网
  2. nanohttpd:实现跨域(CORS)请求
  3. react视频播放组件
  4. Ubuntu 安装包安装搜狗输入法
  5. 基于C#窗体的酒店管理系统
  6. winhttp 访问https_「winhttp」C++用winhttp实现https访问服务器 - seo实验室
  7. WinHTTP实现文件下载 C++程序
  8. 红帽linux安装教程
  9. Clearcase no version selected issue
  10. 网管员常用工具(二)