iOS 中pch文件的使用及利用pch文件消除项目中所有的NSLog函数

在实际的项目中,我们可能需要一些全局的宏定义或者某个文件,并且被反复使用。显然,如果在每个项目文件里都定义一个宏的话,是很费事的,今天我们来介绍一个文件pch文件,只有.h文件。

pch文件的作用:对于宏定义而言,相当于一个声明文件,这个文件是全局的。你也可以理解为,他设置完路径之后,被默认导入到项目中的各个文件中。但不能以这为定论,具体的,你自己百度吧。

1,pch文件如何创建

1),在项目中commond+n 选择 other 里面的 红色h文件(下面写着PCH File)点击next为他起个名字,然后creat就行了。下面是图,对,该上图了。

2),第一步完成之后,你需要做的是设置pch的路径,不设置的话,你的pch文件只能是酱油星。

如何设置路径?

(1),点击Build Settings 输入prefix 搜索,找到Apple LLVM 6.0 - Language(注意哈,6.0是xcode的版本,不同的xcode是不同的,不要纠结这个,知道吗)。下面有个Prefix Header 在它后面双击,会出来一个输入框,在输入框输入$(SRCROOT)/项目名/pch文件名.pch,这是格式,不要忘了pch文件的后缀。又到了上图时刻。

(2),看到输入框上面那一行Precompile Prefix Header吗?它默认是no,设置成yes之后,好像是可以在你pch文件创建之后的二次运行,提高效率,具体自己百度。

读者:为神马又要我们自己百度?

笔者:我是菜鸟55555,很多不懂的,只能显摆这点东西,你们不要为难我。

2,pch文件的使用。都创建出来了,直接用撒。

看看pch文件内部,看到我引入的AVFoundation头文件了吗?对了,其它的都像我这样弄。

看到那个KSCREEN了吗?,对它就是一个宏定义,其它的,也像我这样弄。是的,你在全局都可以使用。

3,如何消除项目中的NSLog函数?

重点来了,我们在项目的过程中,可能需要测试什么的,写了一大堆NSLog函数,输出了乱七八糟的东西。现在项目写完了,这些NSLog函数,想让他们呢闭嘴,别说话,可是又找不到它们了,肿么办?

笔者教你一招。

看图。(读者:又是图---。----)

这个段代码,是一个整体,写到pch文件里任何一个地方都行。注意,任何一个地方都行,不信你可以试试。

笔者:读者,你看完了吗?

确定看完了?

看完了,就把这段代码复制保存把,别敲了。

//消除文件中的nslog函数
#ifdef __OPTIMIZE__

#define NSLog(...)NSLog(VA_ARGS__)

#else

#define NSLog(...){}

#endif
时间: 2024-12-08 11:34:43

iOS 中pch文件的使用及利用pch文件消除项目中所有的NSLog函数的相关文章

利用CocoaPods,在项目中导入AFNetworking类库

场景1:利用CocoaPods,在项目中导入AFNetworking类库 AFNetworking类库在GitHub地址是:https://github.com/AFNetworking/AFNetworking 为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下.在终端中输入: $ pod search AFNetworking 过几秒钟之后,你会在终端中看到关于AFNetworking类库的一些信息. 这说明,AFNetworking是支持

利用CocoasPod在Swift项目中使用CorePlot

最近在研究可用的第三方的图标控件,然后网上搜了之后,感觉功能比较强大的就是CorePlot了,于是就开始研究如何部署到程序中.网上关于这方面的教程比较少,大部分都是objective-c的,而且历史也比较久远,后来找到一篇老外写的blog,讲述在swift中如何使用CorePlot(http://blog.alwold.com/2014/08/07/using-coreplot-with-swift-in-ios/),研究了好久,总算成功安装了.下面就一步一步介绍. 1. 建立工程 首先建立一个

利用百度地图实现项目中的全球定位

百度地图开放接口 http://developer.baidu.com/map/index.php?title=androidsdk 1) 下载SDK和Demo 2) 创建应用,获得Appkey 数字签名 3) 导入Demo并配置Appkey 4) 参考Demo源代码 3. 使用百度地图实现定位步骤: 1) 从Demo中拷贝库 注意:这两个包中文件要单独导,不能覆盖 2) 拷贝清单中的权限.Appkey和DemoApplication 3) 参考Demo中的LocationDemo.java 4

iOS:消除项目中警告

引言: 在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak.循环引用.不能执行之类的警告. 有代码洁癖的孩子们很想消除他们, 今天就让我们来一次Fuck 警告!! 首先学会基本的语句: #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" 中间这里写出现警告的代码 #pragma clang diagnostic pop 这样就消除了方法弃用的警

如何利用go modules 在 项目中 导入包

go modules 是go1.11 推出的官方的依赖管理,废话不多说直接开始 set GO111MODULE=on set GOPROXY=https://goproxy.cn 我的关于go module 的环境变量设置 踩坑:因为我是初学者,go module 并不熟悉,就开始跟着老师后面学 爬虫项目需要利用到 包 golang.org/x/text 老师使用的是 gopm -g -u golang.org/x/text gopm这个软件我并没有,一个用来进行包管理的软件,手动安装失败显示软

在java项目中怎样利用Dom4j解析XML文件获取数据

在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进行直接读取,能够说这是程序中直接封装好的,包含配置文件里书写的格式等等.那么,假设.想要在配置文件里写一些其它的数据,直接以XML文件的格式进行书写.这个时候在后台怎样读取XML文件里的数据呢?这里利用Dom4j来解析XML文件里连接oracle数据库的xml数据. 在使用之前,首先要在自己的项目中

在java项目中如何利用Dom4j解析XML文件获取数据

在以前的学习.net时经常会遇到利用配置文件来解决项目中一些需要经常变换的数据,比如数据库的连接字符串儿等.这个时候在读取配置文件的时候,我们通常会用到一个雷configuration,通过这个类来进行直接读取,可以说这是程序中直接封装好的,包括配置文件中书写的格式等等.那么,如果,想要在配置文件中写一些其他的数据,直接以XML文件的格式进行书写,这个时候在后台如何读取XML文件中的数据呢?这里利用Dom4j来解析XML文件中连接oracle数据库的xml数据. 在使用之前,首先要在自己的项目中

iOS项目中使用CocoaPods问题解决方案

文/yehot(简书作者)原文链接:http://www.jianshu.com/p/a2007d8e2607著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 为什么iOS项目中应该使用CocoaPods作为第三方依赖管理工具?因为: (全文完) 开个玩笑.真正的原因是这样: 目录: 从一个bug说起 分析需求及解决方案 确定方案 CocoaPods学习资料 一.从一个bug说起: 1.公司的项目里统一使用SVG格式的图片:2.GitHub上只有一个star数超过一千的SVG解析库

iOS- PCH文件的作用 & XCode创建Pch文件的方式:

在老版本的XCode里面,创建项目之后会自动创建有pch文件,在里面往往写一些经常使用的框架头文件或者一些宏定义的URL地址,这里面定义后可全局使用,但是在Xcode6里面项目创建后不再自带pch文件.pch全称为"precompiled header",也就是预编译头文件,有利于节约开发时间.代码维护时间. 创建方式 New File : 取名字 Next 就不多说了... 文件创建好之后此时文件是没法用的,需要在项目中设置一下: 写入格式如下:     $(SRCROOT)/项目名