PCH文件

一.Xcode6为什么干掉pch(Precompile Prefix Header)

As to where to put code that you would put in a prefix header, there is no code you should put in a prefix header. Put your imports into the files that need them. Put your definitions into their own files. Put your macros...nowhere. Stop writing macros unless there is no other way (such as when you need __FILE__). If you do need macros, put them in a header and include it.

在将代码,你将在一个前缀头,没有代码应该放在一个前缀头。把你的进口需要的文件。把你定义成自己的文件。把你的宏……。停止写作宏,除非没有其他方法(比如当你需要FILE)。如果你需要宏,把它们放在一个头,包括它。

The prefix header was necessary for things that are huge and used by nearly everything in the whole system (like Foundation.h). If you have something that huge and ubiquitous, you should rethink your architecture. Prefix headers make code reuse hard, and introduce subtle build problems if any of the files listed can change. Avoid them until you have a serious build time problem that you can demonstrate is dramatically improved with a prefix header.

前缀头是必要的事情是巨大的和几乎所有使用的整个系统(如Foundation.h)。如果你有巨大而无处不在的东西,你应该思考一下你的架构。前缀头努力使代码重用,并介绍微妙的构建问题如果可以改变列出的文件。避免它们,直到你有一个严重的构建时间问题,你可以用一个前缀头展示是显著提高。

一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了。
为什么xcode6没有自动创建pch文件呢?
简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Header之后就要通过手动@import来手动导入头文件了,在失去了编程便利性的同时也降低了Build的时间。

二.如何添加pch文件

1,Command+N,打开新建文件窗口:ios->other->PCH file,创建一个pch文件:“工程名-Prefix.pch”:
这里写图片描述
2,将building setting中的precompile header选项的路径添加
这里写图片描述
(SRCROOT)//pch (SRCROOT)/LotteryFive/LotteryFive-Prefix.pch)

可以了,编译一下程序,如果有错误检查一下添加的路径是否正确。
3,将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度
这里写图片描述

4.在pch自定义NSLog(自定义NSLog的好处是自动判断是调试阶段还是发布阶段,功能和NSLog一样,发布程序时不用在其他程序里注释自定义NSLog文件)

#ifdef DEBUG  // 调试阶段,__VA_ARGS__系统函数,这代表用自定义的log代替系统的
#define RSLog(...) NSLog(__VA_ARGS__)
#else // 发布阶段
#define MJLog(...)
#endif

5.当一个工程从一个地方移动到另一个地方,这时系统会报错,(说找不到PCH文件),解决方法如下:
1.按照第2点的方法修改PCH的名字
1.按照第2点的方法修改PCH的名字
2.按照第2点的方法修改PCH的名字
[2.按照第2点的方法修改PCH的名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值