• iOS 编程之使用Precompile Prefix Header


    一:为什么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文件圆满结束!

  • 相关阅读:
    matplotlib
    CNN中feature map、卷积核、卷积核个数、filter、channel的概念解释,以及CNN 学习过程中卷积核更新的理解
    Batch Normlization原理
    pycharts
    stm 32 LED(寄存器版本)
    stm32 滴答时钟实现较准时延时功能
    LFS笔记一:从LFS网站获取资源
    ubuntu 12.04编译安装linux3.6.10内核笔记
    stm32 外部事件<按键>中断输入实现过程<寄存器>
    stm32 中断几个库函数实现过程分析。
  • 原文地址:https://www.cnblogs.com/FightingLuoYin/p/4487291.html
Copyright © 2020-2023  润新知