iOS 编程之使用Precompile Prefix Header

一:为什么Xcode6没有自动创建Precompile Prefix Header

我们在写项目的时候,大部分宏定义,头文件导入都在Precompile Prefix Header文件里面。在Xcode 4, 5的模板工程中可以看到Precompile Prefix Header,但是在Xcode 6被阉割掉了,原因可以参考下面的链接:

http://stackoverflow.com/questions/24158648/why-isnt-projectname-prefix-pch-created-automatically-in-xcode-6

 Xcode 6去掉Precompile Prefix Header的主要原因在于:

(1)去掉自动导入的系统框架类库的头文件,可以提高原文件的复用性,便于迁移。

(2)一个肥胖无比的Prefix Header会大大增加Build Time。

二:使用Precompile Prefix Header的好处

  为了取代在Prefix Header中自动导入的框架,可以在每一个需要导入系统框架的文件中通过@import来手动导入。如果在Prefix Header中导入了,那么我们在工程的每一个文件中可以免费获得使用的权利,而无需手动在每一个.h/.m文件中导入。该文件确有其方便之处。

三:给工程中添加Precompile Prefix Header

  如果一定要用到Precompile Prefix Header,可以参考Xcode 5的配置来手动设置。

(1)创建一个pch文件: Command+N,打开新建文件窗口:ios->other->PCH file

(2)给pch文件命名

  在工程中增加一个pch文件,命名还是按照Xcode 5的模板比较好:工程名-Prefix.pch,例如a-Prefx.pch

   

(3)修改工程配置文件,将刚刚创建的PCH file的路径添加到building setting中的precompile header选项中去,注意debug和release两栏都要添加:

  注意:

  1. 将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度  
  2. 修改pch文件路径按照如下格式:将building setting中的precompile header选项的路径添加“$(SRCROOT)/项目名称/pch文件名”(例如:$(SRCROOT)/自定义数字键盘/自定义数字键盘-Prefix.pch)

(4)向pch文件中添加文件

至此,向Xcode6中添加pch文件圆满结束!

时间: 2024-10-22 15:49:31

iOS 编程之使用Precompile Prefix Header的相关文章

Xcode6中手动添加Precompile Prefix Header

Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上给程序员带来了编程的便利性.但是在Xcode6中去掉Precompile Prefix Header文件. Xcode6去掉Precompile Prefix

Xcode6导入.pch文件(Precompile Prefix Header)

Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上给程序员带来了编程的便利性.但是在Xcode6中去掉Precompile Prefix Header文件. Xcode6去掉Precompile Prefix

如何在Xcode6中添加pch(Precompile Prefix Header)文件?

1.新建一个pch文件 command + N , 选择 iOS -> Other -> PCHFile 2.将building setting中的precompile header选项的路径添加“$(SRCROOT)/项目名称/pch文件名”(例如:$(SRCROOT)/RMWeibo/PrefixHeader.pch) 编译一下,检查路径是否正确 3. 将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度 参考来源:http://b

Xcode6为什么干掉pch(Precompile Prefix Header)&如何添加pch文件

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

转 Xcode6与Xcode5之间的细节差别(Precompile Prefix Header)

Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上给程序员带来了编程的便利性.但是在Xcode6中去掉Precompile Prefix Header文件. Xcode6去掉Precompile Prefix

关于Precompile Prefix Header

在Xcode项目属性->Build Settings中,属性Precompile Prefix Header用于标识是否使用预编译头文件,Prefix header用于标识pch文件. Prefix.pch文件内容如下例示: #ifdef __OBJC__ #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #endif 其中使用__OBJC__宏定义,保证宏内引用的文件,仅被ObjC语言编写的文件引用. 如果P

Xcode Precompile Prefix Header浅析

在Xcode 4, 5的模板工程中可以看到Precompile Prefix Header,但是在Xcode 6被阉割掉了,原因可以参考下面两个链接: http://stackoverflow.com/questions/24158648/why-isnt-projectname-prefix-pch-created-automatically-in-xcode-6 http://blog.csdn.net/lihuiqwertyuiop/article/details/39268101#com

iOS添加Prefix Header

1. 添加Prefix Header 注: Xcode 6苹果默认去掉prefix Header, 用以提高原文件的复用性, 便于迁移. 并且可以一定程度上减少Build Time. 解决办法: (1). 在工程中添加一个pch文件, 命名 XXX-Prefix.pch. (2). 设置Build Setting 为'Prefix Header' 添加路径 $(SRCROOT)/桌面文件夹/PrefixHeader.pch Precompile Prefix Header 设置为YES后, pc

Xcode-Precompile Prefix Header

Xcode Precompile Prefix Header浅析 http://www.cocoachina.com/ios/20140916/9635.html Xcode6与Xcode5之间的细节差别(Precompile Prefix Header) http://blog.csdn.net/tmweipan/article/details/39761843 Xcode6为什么干掉pch(Precompile Prefix Header)&如何添加pch文件 http://blog.csd