Xcode 6.0 Prefix.pch 文件相关问题

XCode6里, 新建工程默认是没有pch文件的,苹果取消pch文件这一点肯定有它的道理,刚开始很多人可能不适应,如果我们想使用pch文件,需要手动添加,添加步骤如下:(依旧直接上图)

@ 取消的原因:<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD48cD4gICAgICBTdGFja292ZXJmbG93yc/T0NK7uPbIy7bUtMu1xL3iys3Kx9Xi0fm1xKO6PGJyIC8+ICAgICAgIEkgc3VzcGVjdCBiZWNhdXNlIG9mIG1vZHVsZXMsIHdoaWNoIHJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlIDxjb2RlPiAjaW1wb3J0IDxDb2NvYS9Db2NvYS5oPi48L2NvZGU+PGJyIC8+ICAgICAgIEFzIHRvIHdoZXJlIHRvIHB1dCBjb2RlIHRoYXQgeW91IHdvdWxkIHB1dCBpbiBhIHByZWZpeCBoZWFkZXIsIHRoZXJlIGlzIG5vIGNvZGUgeW91IHNob3VsZCBwdXQgaW4gYSBwcmVmaXggaGVhZGVyLiBQdXQgeW91ciBpbXBvcnRzIGludG8gdGhlIGZpbGVzIHRoYXQgbmVlZCB0aGVtLiBQdXQgeW91ciBkZWZpbml0aW9ucyBpbnRvIHRoZWlyIG93biBmaWxlcy4gUHV0IHlvdXIgbWFjcm9zLi4ubm93aGVyZS4gU3RvcCB3cml0aW5nIG1hY3JvcyB1bmxlc3MgdGhlcmUgaXMgbm8gb3RoZXIgd2F5IChzdWNoIGFzIHdoZW4geW91IG5lZWQgX19GSUxFX18pLiBJZiB5b3UgZG8gbmVlZCBtYWNyb3MsIHB1dCB0aGVtIGluIGEgaGVhZGVyIGFuZCBpbmNsdWRlIGl0LjxiciAvPiAgICAgICBUaGUgcHJlZml4IGhlYWRlciB3YXMgbmVjZXNzYXJ5IGZvciB0aGluZ3MgdGhhdCBhcmUgaHVnZSBhbmQgdXNlZCBieSBuZWFybHkgZXZlcnl0aGluZyBpbiB0aGUgd2hvbGUgc3lzdGVtIChsaWtlIEZvdW5kYXRpb24uaCkuIElmIHlvdSBoYXZlIHNvbWV0aGluZyB0aGF0IGh1Z2UgYW5kIHViaXF1aXRvdXMsIHlvdSBzaG91bGQgcmV0aGluayB5b3VyIGFyY2hpdGVjdHVyZS4gUHJlZml4IGhlYWRlcnMgbWFrZSBjb2RlIHJldXNlIGhhcmQsIGFuZCBpbnRyb2R1Y2Ugc3VidGxlIGJ1aWxkIHByb2JsZW1zIGlmIGFueSBvZiB0aGUgZmlsZXMgbGlzdGVkIGNhbiBjaGFuZ2UuIEF2b2lkIHRoZW0gdW50aWwgeW91IGhhdmUgYSBzZXJpb3VzIGJ1aWxkIHRpbWUgcHJvYmxlbSB0aGF0IHlvdSBjYW4gZGVtb25zdHJhdGUgaXMgZHJhbWF0aWNhbGx5IGltcHJvdmVkIHdpdGggYSBwcmVmaXggaGVhZGVyLjxiciAvPiAgICAgICBJbiB0aGF0IGNhc2UgeW91IGNhbiBjcmVhdGUgb25lIGFuZCBwYXNzIGl0IGludG8gY2xhbmcsIGJ1dCBpdA=="s
incredibly rare that it's a good idea.


翻译过来 大致就是说 也许是因为组件单一模块的原因,所以 放弃了对的import
你不应该在你的prefix代码中放入任何的代码,把他们放在你确实需要放入的文件中。把你的定义放到属于他们的文件中。 尽量不要使用宏定义(define)。。除非是非不得已的时候,(这里 插一句 不使用宏定义的原因是 宏定义是在预编译的时候处理的 因此 当你修改宏定义的时候 会导致大量的代码被重新编译 另外 宏定义存在许多潜在的bug 是因为在预编译的时候,他并不会被发觉到的)。如果你确实 在被逼无奈需要使用宏定义,把他们放在需要被include的头文件中,而不是放在prefix文件中。 
prefix header文件是被那些大量使用 以及 几乎所有系统中的文件都需要被使用(例如 Foundation.h)。如果 你有一些东西大量存在,你应该重新思考你的架构问题你。因为 当你修改你prefix header的一些代码的时候,prefix
header导致整个项目重新编译,这让你的代码重用变得困难,并且导致一些琐碎build的问题。所以 不要去使用prefix header 这样可以避免你大量的重新编译整个项目的时间 
如果你仍然想要使用预编译,你可以创建一个新的并且传递给编译器的前段,这种方法很少见(我没用过),但确实是一个不错的方法

@ 还可以参考:XcodePrecompilePrefixHeader浅析

时间: 2024-10-04 00:32:32

Xcode 6.0 Prefix.pch 文件相关问题的相关文章

开源中国iOS客户端学习 (一) Prefix.pch文件

当我们新建一个工程的时候,在Supporting FIles文件下会看到一个以  -Prefix.pch结尾文 件的文件,pch全称是"precompiled header",也就是预编译头文件,该文件里存放的工程中一些不 常被修改的代码,比如常用的框架头文件,这样做的目的提高编译器编译速度.我们知道当我们修改一 个工程中某个文件代码时候,编译器并不是重新编译所有所有文件,而是编译改动过文件的,假如pch 中某个文件修改了,那么pch整个文件里包含的的其他文件也会重新编译一次,这样就会

ios-没有预编译文件prefix.pch的情况下怎么在发布版中去除NSLog?

问题描述 没有预编译文件prefix.pch的情况下怎么在发布版中去除NSLog? 在网上搜了一下,都是说在prefix.pch文件里加上这么一段 #ifndef __OPTIMIZE__ #define NSLog(...) NSLog(__VA_ARGS__) #else #define NSLog(...) {} #endif 我现在的项目都不用prefix.pch了,有没有其他的办法? 解决方案 xcode6没有prefix.pch预编译文件解决办法 解决方案二: 你可以自定义一个打印输

ios-Xcode中的pch文件一些疑惑

问题描述 Xcode中的pch文件一些疑惑 Xcode中的pch文件中的内容能否过于繁杂,能不能把一个项目的宏都写在里边???还是另外创建一个工具类,只是用pch包涵一下???在运行效率上有什么区别 解决方案 一般来说,pch文件中添加的多为头文件,像宏定义啥的可以用个工具类,这样各个文件执行的功能更为明确,当然,非要都写在pch中也不是不可以.pch中放的是多为整个工程都会经常用到的一些内容,pch在工程启动时编译,包含的内容越多,工程编译时间越长,也就是启动时间越长. 解决方案二: 首先,新

iOS开发之pch文件

项目的Supporting files文件夹下面有个"工程名-Prefix.pch"文件,也是一个头文件 pch头文件的内容能被项目中的其他所有源文件共享和访问 一般在pch文件中定义一些全局的宏 在pch文件中添加下列预处理指令,然后在项目中使用Log(-)来输出日志信息,就可以在发布应用的时候,一次性将NSLog语句移除(在调试模式下,才有定义DEBUG) #ifdef DEBUG #define Log(...) NSLog(__VA_ARGS__) #else #define

《iOS9开发快速入门》——第1章,第1.2节构建开发环境—Xcode 7.0

1.2 构建开发环境-Xcode 7.0iOS9开发快速入门苹果公司在发布了最新的 iOS 9 系统后,又发布了最新的 Xcode 7.0.本节将主要讲解Xcode 7.0的安装.苹果账号的绑定和更新文件/组件等相关方面的内容. 1.2.1 安装Xcode 7.0Xcode 7.0可以从应用商店直接下载,并自动安装到计算机上.但是由于Xcode 7.0较大,直接从应用商店下载需要很长的时间.所以,很多时候大家都是从其他途径下载.这个时候,就需要手动进行安装.安装过程如下: (1)双击下载的Xco

使用Xcode为iOS应用项目创建PCH文件的方法及应用示例_IOS

pch 可以用来存储共享信息,比如设备屏幕的宽度,高度.版本号等等 公用信息 Xcode 老版本会自动为我们创建pch文件,新版本开始不自动创建了,如果需要使用可以自己手动创建 创建完成后可以在里面定义常量 此处以屏幕尺寸为例 如下 代码如下: 复制代码 代码如下: //获取屏幕 宽度.高度 #define SCREEN_FRAME ([UIScreen mainScreen].applicationFrame) #define SCREEN_WIDTH ([UIScreen mainScree

iOS开发PCH文件、NSLog真机不打印

添加PCH文件 现在Xcode6.7创建一个新的工程时将默认不会再带有PCH文件,需要手动添加PCH文件. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然后点击下一步进行命名,建议命名格式为项目名称-Prefix,如图Demo 创建的PCH文件与编译器Xcode进行连接:找到 Project > Build Settings > 搜索 "Prefix Header&

Swift读取App版本信息 和 PCH 文件

  Swift读取App版本信息 有时间我们需要读取APP的版本信息之类的配置信息,这样的我们可以使用方法:NSBundle.mainBundle().infoDictionary 来获取 Example: Swift let infoDictionary = NSBundle.mainBundle().infoDictionary let shortVersion = infoDictionary!["CFBundleShortVersionString"] print(shortV

《iOS9开发快速入门》——第2章,第2.2节解剖Xcode 7.0界面

2.2 解剖Xcode 7.0界面 iOS9开发快速入门 一个Xcode 7.0项目由很多的文件组成,如代码文件.资源文件.框架等.Xcode 7.0会帮助开发者管理这些文件.所以,Xcode的界面也相对比较复杂,如图2.2所示. 在图中可以看到,Xcode 7.0的界面大致可以分为4大部分.其中,编号为1的部分是导航窗口:编号为2的部分的编辑区域:编号为3的部分是工具窗口:编号为4的部分是程序调试信息窗口.本节将分别讲解这些区域的作用以及使用方式. 2.2.1 导航窗口 导航窗口的作用是显示整