iOS-PCH File的快速导入方法和使用
来源:互联网 发布:mac免费翻墙教程 编辑:程序博客网 时间:2024/06/05 14:32
PCH的文件的用途:
在实际的项目开发中,如果很多地方都在使用某个类的头文件,很多地方都在使用同一个”宏”的时候;很多地方用到了NSLog()函数, 在app发布的时候,想清除掉时,此时就需要一个pch文件了;
PCH文件的好处:
其他代码文件无需显示导入该PCH文件,默认就都可以访问(其他文件无需手动#import该pch文件就能使用);
PCH文件的坏处:编译时比较耗时(这是显然的);
PCH的创建:
xcode6.1中,默认没有创建pch文件。
Command + N 新建 PCh File;
程序开发阶段分为:
1.调试阶段,写代码、调错误,需要使用NSLog()。同时在调试阶段系统会自定义一个叫做DEBUG的宏。
2.发布阶段,写好的代码生成ipa等压缩文件,上传到AppStore,安装到用户设备上,不需要NSLog()。同时系同会自动删除叫做DEBUG的宏。
3.综上所述, 可以自定义一个NSLog():
#ifdef DEBUG
#define YSCLog(...) NSLog(__VA_ARGS__)
#else
#define YSCLog(...)
#endif
4.所有与OC相关的宏定义都要写在:
#ifdef __OBJC__
#endif
里面,因为写在这个if中的所有内容只有OC代码才可以使用,当在项目中新建了一个.c文件是不可以使用的(不使用就不会报错),否则如果写在了外面,新建一个.c的程序也能使用,就报错了。比如C语言中没有#import,只有#include <xx.h>
代码:
#ifndef PrefixHeader_pch#define PrefixHeader_pch#ifdef __OBJC__// Include any system framework and library headers here that should be included in all compilation units.// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.#ifdef DEBUG#define YSCLOG(...) NSLog(__VA_ARGS__)#else#define YSCLOG(...)#endif#endif#endif /* PrefixHeader_pch */
PCH文件的导入:
导入方式一:
*选中项目-> Build Setting -> All ->搜索"head"->修改Prefix Header的内容为:
**"$(SRCROOT)/$(PRODUCT_NAME)/PrefixHeader.pch"(如果有问题,换下面的方式,可能会与中文有关)
**或者 "$(SRCROOT)/对应的文件夹名/PrefixHeader.pch"
如图所示:
导入方式二:
方式一中填写一个相对路径$(SRCROOT)/$(PRODUCT_NAME),这哪记得住?也懒得记!
怎么办:
1.先随便写一个路径,编译;
2.将pch文件拖到终端,终端会直接输出该pch的路径;
3.根据编译提示错误,缺什么路径,补全即可!
eg:
1.随便写一个路径“1”,编译错误❌提示:
2.补全路径即可:
0 0
- iOS-PCH File的快速导入方法和使用
- iOS开发:pch文件的使用,以及pch相对路径和绝对路径的设置方法
- iOS Header File 和 PCH File的区别
- iOS(使用pch文件导入头文件方法)
- iOS-pch的使用
- pch的创建和导入
- iOS - .pch文件的使用
- iOS - .pch文件的使用
- IOS中.pch的使用
- iOS:PCH文件的使用
- ios pch的正确使用
- IOS Pch文件的使用
- iOS通过宏定义设置NSLog打印出类名、方法名和NSLog所在行数以及PCH文件的使用
- ios中的pch的文件的使用
- iOS中pch文件的基本使用
- iOS开发 -- PCH文件的使用
- iOS 全局变量PCH文件的使用
- iOS 中 pch文件的使用
- Db2 sql summarize
- 中介者模式
- Spring MVC interceptor 使用
- 成功投资者应具备的气质
- heap
- iOS-PCH File的快速导入方法和使用
- 关于iOS在向服务器上传数据时
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- 图书api 查询图书内容
- cocos2d-x大型地图的实现
- vim 自动补全插件 for nodejs
- 外排序(大数据文件排序)
- js数组删除元素
- java 拦截器、过滤器、监听器