1.) 打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然后点击下一步;
2.) 假设你的项目名称为TestDemo, 你的PCH 文件的名字应该为 TestDemo-Prefix.pch,然后创建;
3.) 选择 PCH 文件(文章的示例文件为 TestDemo-Prefix.pch) ,可以看到里面的内容如下:
4.) 找到 Project > Build Settings > 搜索 “Prefix Header“;
5.) “Apple LLVM 7.0 -Language″ 栏目中你将会看到 Prefix Header 关键字;
6.) 输入: TestDemo/TestDemo-Prefix.pch (如 TestDemo/TestDemo-Prefix.pch );
<code class="hljs ruby has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">项目名称/项目名称-<span class="hljs-constant" style="box-sizing: border-box;">Prefix</span>.pch 或 <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$(</span><span class="hljs-constant" style="box-sizing: border-box;">SRCROOT</span>)/项目名称-<span class="hljs-constant" style="box-sizing: border-box;">Prefix</span>.pch
[建议:pch文件名字的前面,最好加上项目工程名]
注意点:
<<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>> [<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$(</span><span class="hljs-constant" style="box-sizing: border-box;">SRCROOT</span>)/(加项目名称的)pch文件名][<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$(</span><span class="hljs-constant" style="box-sizing: border-box;">SRCROOT</span>)/项目名称/(不加项目名称的)pch文件名]
<<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>> [项目名称/(加项目名称的)pch文件名][项目名称/(不加项目名称的)pch文件名]
总结:若 .pch文件的名字中,有项目工程名作前缀,使用<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$(</span><span class="hljs-constant" style="box-sizing: border-box;">SRCROOT</span>)时,路径中加不加项目名称都行;不使用<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$(</span><span class="hljs-constant" style="box-sizing: border-box;">SRCROOT</span>)时,路径中一定要加项目名称;</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li></li></ul>
7.),将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度。效果如下
如果需要修改pch文件里面的内容,得改为NO,重新编译~
8.) Clean 并且 build 你的项目.
就是这样!Done!现在你可以使用你的 PCH 文件就像你使用老版本的Xcode一样了