Xcode10 添加、配置和使用".pch"
2019-06-06 本文已影响0人
Z灬昊轩
PCH:预编译头文件(Precompile Prefix Header File)
-
可以将使用多次的 .h 文件写入
-
可以将经常使用的宏写入
-
可以将全局定义的变量写入(URL地址等)
优点:节约时间,提高开发效率
缺点:不利于代码的移植、可能造成依赖关系、如果 pch 中的头文件很多且很大(引用泛滥),可能会造成预编译的过程变得缓慢。主要体现在用户的体验上,表现是首页进入 App 的时间变长。
创建和配置pch文件、
- 创建 pch 文件:选择一个目录,按住 command + N ,弹出窗口,选择 iOS ---> Other ---> PCH File,如下图所示:

- pch 文件命名:pch 文件命名一般和项目同名。如下图所示:

- 预编译后的 pch 文件会被缓存起来,提高编译速度:新建 pch 以后,需要进行手动配置。点击项目 ---> Build Settings,在搜索框中输入Prefix,快速定位到手动配置的位置,将Precompile Prefix Header 值改为YES,如下图所示:

- 获取 pch 文件在项目中的绝对路径:点击项目目录中的 pch 文件,然后点击 Xcode 中的文件检查器获取绝对路径,如下图所示:

- 获取 pch 文件在项目中的相对路径:复制绝对路径到第3步中的手动配置处,双击 Prefix Header 右侧框,在弹出的输入框中粘贴文件的绝对路径,在绝对路径前添加
$(SRCROOT)/
,相当于输入:$(SRCROOT)/项目名/.pch 文件名
,如下图所示:

$(SRCROOT)
:它代表的是工程的根目录,即相对路径,使用这一相对路径的好处就是,即使项目被移动位置,也不需要重新配置“Prefix Header”这一路径;如果不适用相对路径,而是使用绝对路径的话,一旦项目路径更改,编译时就会报错,错误信息是:“.../EncapsulatedMethodsAndCalls.pch' file not found”
。