一:为什么Xcode6没有自动创建Precompile Prefix Header

我们在写项目的时候,大部分宏定义,头文件导入都在Precompile Prefix Header文件里面。在Xcode 4, 5的模板工程中可以看到Precompile Prefix Header,但是在Xcode 6被阉割掉了,原因可以参考下面的链接:

http://stackoverflow.com/questions/24158648/why-isnt-projectname-prefix-pch-created-automatically-in-xcode-6

 Xcode 6去掉Precompile Prefix Header的主要原因在于:

(1)去掉自动导入的系统框架类库的头文件,可以提高原文件的复用性,便于迁移。

(2)一个肥胖无比的Prefix Header会大大增加Build Time。

二:使用Precompile Prefix Header的好处

  为了取代在Prefix Header中自动导入的框架,可以在每一个需要导入系统框架的文件中通过@import来手动导入。如果在Prefix Header中导入了,那么我们在工程的每一个文件中可以免费获得使用的权利,而无需手动在每一个.h/.m文件中导入。该文件确有其方便之处。

三:给工程中添加Precompile Prefix Header

  如果一定要用到Precompile Prefix Header,可以参考Xcode 5的配置来手动设置。

(1)创建一个pch文件: Command+N,打开新建文件窗口:ios->other->PCH file

(2)给pch文件命名

  在工程中增加一个pch文件,命名还是按照Xcode 5的模板比较好:工程名-Prefix.pch,例如a-Prefx.pch

   

(3)修改工程配置文件,将刚刚创建的PCH file的路径添加到building setting中的precompile header选项中去,注意debug和release两栏都要添加:

  注意:

  1. 将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度  
  2. 修改pch文件路径按照如下格式:将building setting中的precompile header选项的路径添加“$(SRCROOT)/项目名称/pch文件名”(例如:$(SRCROOT)/自定义数字键盘/自定义数字键盘-Prefix.pch)

(4)向pch文件中添加文件

总结:Apple标都建议我们不用pch了,那么还是尽量少用吧。当然,如果一定要用,还是尽量减少pch文件中

    的内容,降低工程对pch文件的依赖性,便于日后的迁移和解耦。

  

至此,向Xcode6中添加pch文件圆满结束!

iOS 编程之使用Precompile Prefix Header的更多相关文章

  1. Xcode6为什么干掉pch(Precompile Prefix Header)&怎样加入pch文件

    一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6居然干掉pch文件了. 为什么xcode6没有自己主动创建pch文件呢? 简单地看:我们在写项目的时候,大部分 ...

  2. Xcode6为什么干掉pch(Precompile Prefix Header)&如何添加pch文件

    转载:  http://blog.csdn.net/iosdevtip/article/details/40918353 一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到, ...

  3. Xcode6中手动添加Precompile Prefix Header

    Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会 ...

  4. iOS添加Prefix Header

    1. 添加Prefix Header 注: Xcode 6苹果默认去掉prefix Header, 用以提高原文件的复用性, 便于迁移. 并且可以一定程度上减少Build Time. 解决办法: (1 ...

  5. Precompile Prefix file(.pch文件)

    参考资料: http://blog.csdn.net/lwjok2007/article/details/46385595 http://www.tuicool.com/articles/beURbe ...

  6. iOS-----解决Prefix Header出错的问题

    我们在使用 Prefix Header 预编译文件时有时会遇到如下的报错 clang: error: no such file or directory: '/Users/linus/Dropbox/ ...

  7. iOS开发-为我们的项目添加头文件prefix header

    在XCode6新建项目时,不再自动创建头文件,因此我们需要手动添加. 点击我们的项目->Build Settings -> all -> 搜索“prefix” -> 修改pre ...

  8. [译] 二、开始iOS编程之前,你还需要做什么?

    声明:本文翻译自AppCoda网站的文章:What You Need to Begin iOS Programming?,作者是创建者Simon Ng.如有异议,请联系博主.   更新:帖子已经重新被 ...

  9. IOS编程User Interface基础

    IOS编程之User Interface基础 目录 概述 相关概念 常见问题 状态栏的隐藏 应用图标的设置 概述 IOS用户界面是APP呈现给用户最直观.最常用的方式,因此学会用户界面的编程是学习IO ...

随机推荐

  1. IntelliJ IDEA常用统一设置(Linux/Mac/Windows)

    前言:如果说VS是宇宙超级无敌第一大开发工具,那么IDEA是当之无愧的第二大开发工具,将来有机会把VS干掉. 说明:除了以下说明的配置地方外,其它尽量保持默认,这样有利于团队代码风格的统一. 运行VM ...

  2. JS--截取字符串常用方法详细

    使用 substring()或者slice() 函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”jpg|bmp|gif|ico|png”; arr=the ...

  3. Application具体解释(一)

     1:Application是什么? Application和Activity,Service一样,是android框架的一个系统组件.当android程序启动时系统会创建一个 applicati ...

  4. Spring-boot和Spring-Cloud遇到的问题

    1.spring cloud 使用 feign 启动报错  错误信息 org/springframework/cloud/client/loadbalancer/LoadBalancedRetryFa ...

  5. 怎样改动X-code中的字体大小、颜色

  6. Solidworks如何标注垂直度,平行度

    1 标注一个基准特征,放到一个平面的线上即可,比如下图生成了一个基准面A   2 点击形位公差,设置形位公差的符号,公差值,相对基准面(主要那一栏),然后不要点确定,直接在图上点击某个面,就生成一个形 ...

  7. Android源代码解析之(三)-->异步任务AsyncTask

    转载请标明出处:一片枫叶的专栏 上一篇文章中我们解说了android中的异步消息机制. 主要解说了Handler对象的使用方式.消息的发送流程等.android的异步消息机制是android中多任务处 ...

  8. Intel Edision —— 上电、基本设置与系统初探

    前言 原创文章,转载引用务必注明链接.如有疏漏,欢迎斧正. Intel的文档其实挺清楚了,坛子上很多人把文档又详细复述一边,私以为一篇就够了其他的跟着文档走一遍也挺好的...俗一把使用过程顺手记录下来 ...

  9. Oracle创建JOB定时任务

    --- DECLARE JOB NUMBER;BEGIN      DBMS_JOB.SUBMIT(          JOB=>JOB,          WHAT=>'CTABLE_T ...

  10. wyh2000 and pupil

    wyh2000 and pupil  Accepts: 93  Submissions: 925  Time Limit: 3000/1500 MS (Java/Others)  Memory Lim ...