iOS Prefix header
疑问:iOS宏定义在哪里?我没定义为什么可以使用
原因在于工程里面可能存在.pch文件,里面定义了宏或引用了某些头文件。Prefix Header中导入了,那么我们在工程的每一个文件中可以免费获得使用的权利,而无需手动在每一个.h/.m文件中导入
1、.pch是什么?
.pch是 Prefix Header文件的后缀,在xcode6去掉这个文件的创建,但是万能的程序员可以手动创建,但是如果Prefix Header文件中设置过多的自动导入,会增加build time。
2、Prefix Header设置
(1)Precompile Prefix Header
如果Precompile Prefix Header为YES,那么pch会被预编译,预编译后的pch文件会被缓存起来,从而提高编译速度。
Prefix Header 为.pch的地址 通过show in finder 找到地址,直接拖进去,一般留最后两个(工程名/文件名.pch)
(2)Prefix Header
Prefix Header 为.pch的地址 通过show in finder 找到地址,直接拖进去,一般留最后两个(工程名/文件名.pch)
3、pch的注意点
1.由于.pch是预编译文件,所以对于混合开发就会有问题,其他语言不识别oc的语言就会报错
解决办法:
#ifdef __OBJC__
导入的头文件
#endif
加入 这句判断 如果是oc 就编译
下面博客可参考
对于pch文件的介绍详细
https://www.jianshu.com/p/59cb9e41a292
xcode6之后手动创建pch文件
https://blog.csdn.net/ws1352864983/article/details/51909427