1.首先打开你的项目(演示使用一个空的项目),按照以下步骤即可

找到“Supporting Files”文件夹,右键即可看到下图,选择“New File...”

2.选择"iOS" -->> “Other” -->> “PCH File”,点击右下角的“Next”按钮,进入下一步。

3.在“Save As:”后面的输入框里输入文件名,注意此处文件名后缀要使用“.pch”,然后“enter”,进入下一步。

4.此时会看到在“Supporting Files”文件夹下增加了“Test.pch”文件。

5.选择你的项目文件“TestProject”,在右边会看到下图的视图,选择“Build Settings”

第一次点击进去后可能会看不到全部的选项,在“Build Settings”视图的左上角找到“All”,点击,就可以看到所有了;

然后在同行右边的搜索框中,输入“Prefix Header”,会看到下图,此时,你会在“Apple LLVM 7.1 - Language”下看到“Prefix Header”行;

6.双击“Prefix Header”右侧的空白处,即可看到下图,在弹出框中输入“$(SRCROOT)/TestProject/Test.pch”,然后“enter”即可。

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

7.接下来可以验证一下,是否成功加入.pch文件

在Test.pch 文件中,添加下面的代码

#import "ViewController.h"

然后打开AppDelegate.m文件,添加下面的代码,注意:此时不需要再在AppDelegate.h或AppDelegate.m文件中添加“ViewController.h"头文件引用。

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible]; ViewController *viewController = [ViewController new];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:viewController];
self.window.rootViewController = nav;

完成。

下面简单介绍一下.pch文件是什么。

百度翻译“PCH”,解释为“预编译头文件;由编译器在建立工程时自动生成;其中存放有工程中已经编译的部分代码;在以后建立工程时不再重新编译这些代码”

全称:pre-Compile Header

其优缺点详见“Why isn't ProjectName-Prefix.pch created automatically in Xcode 6?

iOS 如何给Xcode7项目添加“.pch”文件的更多相关文章

  1. Xcode7如何添加pch文件

    我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间.但是没有 ...

  2. iOS项目添加PCH文件

    1.单击Info.plist右键单击->New File->Other->PCH File创建PCH文件 文件名设置成:项目名-Prefix  ->点击Create,创建成功. ...

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

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

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

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

  5. Xcode7 Xcode6 中添加pch文件

    在Xcode7 和 Xcode6 中添加.pch文件是一样的,具体操作图文如下: 第一步:在Xcode的项目里,一般在Supporting Files 文件夹下创建,选中Supporting File ...

  6. iOS开发添加pch文件

    首先说一下pch的作用: 1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部的头文件(整个项目中都用得上的头文件) 3.能自动打开或者关闭日志输出功能 如何在Xcode中添加pch文 ...

  7. Xcode6如何自己添加pch文件?

    1.先自己添加.pch文件(右击new file) 2.最重要的一步,如何让工程识别! 在Build settings里搜索Prefix Header, 第一个箭头选择yes,第二箭头把你的pch的路 ...

  8. git项目添加.gitigore文件

    以前一直没有注意这个文件,最近读到了黄勇的<架构探险>,觉得这个文件还是很有用的. .gitigore文件可以自己配置. 我使用的是书中所用的配置,简洁明了. # Maven # targ ...

  9. 在Xcode中手动添加pch文件

    在Xcode中手动添加pch文件: 一: 在工程中新建.pch文件,pch文件名通常用工程名字命名: 二: 在Targets->build Settings->Prefix Header ...

随机推荐

  1. maven的SNAPSHOT版本和正式版本不同

    转载文章: http://www.huangbowen.net/blog/2016/01/29/understand-official-version-and-snapshot-version-in- ...

  2. IIS7错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny")......

    不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny")...... 解决方案: 因为 II ...

  3. [转载][翻译] 利用JSF、SpringFramework和Hibernate构建Web应用的实例讲述

    [原作者] Derek Yang Shen[原文链接] http://www.javaworld.com/javaworld/jw-07-2004/jw-0719-jsf.html[源码链接] htt ...

  4. Win32程序和控制台应用程序的项目互转设置

    一般情况下,如果是windows程序,那么WinMain是入口函数,在VS2010中新建项目为"win32项目" 如果是dos控制台程序,那么main是入口函数,在VS2010中新 ...

  5. php数据库访问

    从$res获取行数据的时候,处理mysql_fetch_row($res),还有三个方法,分别是 mysql_fetch_row($res); 返回一个所以的数组,速度较快. mysql_fetch_ ...

  6. Oracle游标示例

    -- 声明游标:CURSOR cursor_name IS select_statement --For 循环游标 --(1)定义游标 --(2)定义游标变量 --(3)使用for循环来使用这个游标 ...

  7. Python基础篇【第8篇】: Socket编程 (一)

    Python Socket 官方关于 Socket 的函数请看 http://docs.python.org/library/socket.html 一.socket介绍 在网络编程中的一个基本组件就 ...

  8. 快速排序 && 希尔排序 && 插入排序

    1. 快速排序 不稳定的排序. 平均(与最好情况)时间复杂度:O(nlgn)   |  最坏情况时间复杂度(元素有序,递归栈为 O(n)):O(n2) 适合的数据结构:数组,双向链表. #includ ...

  9. windows 装 Crypto.Cipher

    python 2.7 先去官网下载,https://www.dlitz.net/software/pycrypto/ 回来装这个,http://download.csdn.net/download/d ...

  10. lua 面向对象

    对象的特点是: 对象拥有自己的数据,两个对象即使数据完全相同,他们也是相互独立的: 对象之间可以共享对象的行为,也就是他们的方法是一致的: lua中的table就非常适合作为一个对象,可以在table ...