一.简介

首先 pch 文件(即:Prefix Header)是一种预编译文件,在 Xcode 6 之前创建新的工程则会自动将该文件一起创建出来,但在 Xcode 6 之后苹果官方则默认将自动创建的方式变更为后续手动人工创建的方式;

该文件在项目工程中主要作用于将较常用且稳定的的类存放在其中,方便开发时共享其中的方法资源,不用多次在不同的类文件中引用其头文件.

但是有几点建议,因为该 pch 文件在预编译后会将头文件缓存起来,再次编译时则不需要重新编译该文件中的内容,进而提升了编译的速率,所有尽量不要将开发中共用性较低的文件或宏定义(宏定义可单独创建一个头文件进行存放,再将该宏文件引入至 pch)引入进 pch 文件中导致重复编译的操作,反而降低其速率使文件所带来的作用大大折扣.

二.创建

大致了解了其 pch 文件的作用后便可以创建,将其作用发挥起来,具体创建步骤如下:

1.右键选择 New File 或使用快捷键 command+N 的方式,则会出现创建文件的界面,在右上方搜索框中输出"pch"字样,如下图所示:

2.选中 PCH File 文件,点击 create 创建便会生成一个 pch 文件.

注:该 pch 文件的命名方式,建议以项目名称开头,例如项目名称为"TestDemo"则 pch 文件名称则为"TestDemo-Prefix",当然实际命名以用途为准.

三.配置

1.文件创建成功后,需要在 Target => Build Settings => Apple LLVM9.0-Language 中配置一下,具体如下图:

2.如上图中第5项处,双击弹出输入框后将创建的 pch 文件拖入其中,该 pch 文件的路径则会自动填充入其中,但当前默认生成的路径属于相对路径并非绝对路径,项目文件一旦位置发生变更系统将会抛出异常报错,为了避免这样的状况发生,则需要将现有的相对路径变更为绝对路径,具体操作如下:

将其输入框中的路径地址最前面插入"$(SRCROOT)"双引号中的字段,后面并以项目名称加文件夹层级的结构存在即可,如下图所示.

注:在 Xcode 9 之前可以以"$(SRCROOT)/项目名称/pch 文件名称"的方式,但在 Xcode 9 之后再次建立发现使用这种方式,编译工程依然会抛出异常警告,便尝试将相对路径中的文件夹层级保留后再次编译即可通过.

希望以上分享内容能对大家有所帮助,若有什么不当的地方也请多多指正共同进步,谢谢!

Xcode 中 pch 文件配置 - iOS的更多相关文章

  1. Xcode 中 Git 的配置与使用

    Xcode 中 Git 的配置与使用主要围绕下面几个问题展开阐述: 问题1,如何在Xcode中创建本地代码库,并添加和提交代码到本地代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问 ...

  2. Xcode中的文件类型

    文件类型 Xcode中的文件类型,总共4种类型: 1 普通文件(File) 2 Group(在Xcode中就是黄色的文件夹) 3 Folder(在Xcode中就是蓝色的文件夹) 4 Framework ...

  3. ios中pch文件的创建与配置

     PCH文件(Precompile Prefix Header File),也就是预编译头文件,其作用就是,方便你一次性导入在多个文件中同时用到的头文件.宏或者URL地址等(全局使用),可以有效的帮你 ...

  4. iOS中.pch文件怎样使用

    pch 能够用来存储共享信息,比方设备屏幕的宽度,高度.版本等等 公用信息 Xcode 老版本号会自己主动为我们创建pch文件,新版本号開始不自己主动创建了.假设须要使用能够自己手动创建 waterm ...

  5. iOS开发中.pch 文件的使用及其相关工程设置

    .pch文件 也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问.是一个预编译文件. 首先说一下pch的作用: 1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部 ...

  6. XCode6 ,iOS之PCH文件配置

    1: 创建PCH文件 NewFile-->Other中的PCH File-->Next-->Create 2:配置PCH文件 项目中的TARGETS-->Build Setti ...

  7. iOS开发笔记-Xcode添加pch文件

    xcode6以后苹果取消了pch文件,需要自己创建pch文件并手动添加引用. 1.新建pch文件 2.项目Build Settings添加引用 最后检查路径是否正确,编译一下查看是否出现问题. 如果出 ...

  8. OC中.pch文件的解释

      在IOS开发的项目中有一个Prefix.pch,.pch文件是什么?  Prefix.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的 ...

  9. pch文件配置

    配置.pch文件 刚上手 Xcode6 的人,总会发现之前在 6 之前常常会在“利用名-Prefix.pch”这个文件中来配置我们全局要用到的头文件,但是 xcode6 没有了,人家说,这类东西有时候 ...

随机推荐

  1. jq二级目录

    CSS:.qsc_nav_main .level1 { text-align: center; height: auto; } .qsc_nav_main .level1 a { display: i ...

  2. anaular js loadding效果

    以前用的jquery的时候,用ajax实现,比较好弄,下面是angularjs的方式: //body下面增加div <div data-loading></div> //dir ...

  3. Angularjs ui router,路由嵌套 父controller执行问题

    解决方式来源:https://stackoverflow.com/questions/25316591/angularjs-ui-router-state-reload-child-state-onl ...

  4. AutoResetEvent 2

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. Eclipse jee 3.7常用插件安装手记

    最近在折腾Maven,于是想重新配置一个Eclipse环境,插件安装挺折腾人的,尤其天朝的网络,你懂的,伤不起啊,因此特地把正确的过程记录下来,供大家参考,节省时间 1.官网下载eclipse-jee ...

  6. jQuery的定时执行和延迟执行

    jQuery的定时执行和延迟执行 //延迟执行 setTimeout(function(){ console.log("实战授课,100%就业"); },600); //定时执行 ...

  7. array_map()关于回调函数的总结

    array_map()函数的第一个参数可以是匿名函数,系统函数,也可以是自己自定义的函!在全局空间下,这些函数的调用都很简单 在这里就不多说了!我们主要讨论的是该函数调用类中的方法和静态方法的区别 摘 ...

  8. Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage

    Android Studio下修改方法: 在manifest中添加<uses-sdk tools:overrideLibrary="android.support.v17.leanba ...

  9. TP5.1:数据库的增删改查操作(基于数据库操作)

    1.在app/index/controller文件夹下创建一个文件,名为:Operation 注意:起名一定要避开关键字,例如:mysql,curd等等,如果使用关键字起名,会造成报错! 在Opera ...

  10. 显示、更改ubuntu linux主机名(计算机名)

    在bash中输入hostname可以显示计算机名.Linux和windows都可以使用这条指令. 主机名保存在/etc/hostname文件中 需要进入Root权限才可以修改该文件. sudo ged ...