使用Xcode DEBUG模式和RELEASE模式
2015-08-24 16:46
267 查看
在开发过程中,我们经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程。但是一个发布的程序,里面带有太多的NSLog输出,肯定对于App性能有所影响,这时候我们可以使用一个宏定义来处理,在开发的时候使用DEBUG模式,在发布的时候使用RELEASE模式。这样,发布的App就不会在程序内部做大量的NSLog输出了。
简单的代码如下,
上面的#if #endif宏定义的意思就是如果定义了DEBUG,那么就使用NSLog输出;否则这段代码直接忽略。有人会疑问这个DEBUG和_DEBUG来自哪里,这个其实不用担心,这个来自于Xcode的默认设置,我们可以取消DEBUG模式,开启RELEASE发布模式,如下截图所示,
选择Product->Scheme->Edit Scheme,
下图可以选择Debug和Release两种模式,
这里我选择了Release,那么则默认没有定义Debug,则上面代码中#if…#endif之间的输出NSLog不会执行。这样就在发布程序的时候,节省了一些硬件设备的资源。
简单的代码如下,
[code]#if defined(DEBUG)||defined(_DEBUG) NSLog(@"测试代码"); NSLog(@"Test Coding"); #endif
上面的#if #endif宏定义的意思就是如果定义了DEBUG,那么就使用NSLog输出;否则这段代码直接忽略。有人会疑问这个DEBUG和_DEBUG来自哪里,这个其实不用担心,这个来自于Xcode的默认设置,我们可以取消DEBUG模式,开启RELEASE发布模式,如下截图所示,
选择Product->Scheme->Edit Scheme,
下图可以选择Debug和Release两种模式,
这里我选择了Release,那么则默认没有定义Debug,则上面代码中#if…#endif之间的输出NSLog不会执行。这样就在发布程序的时候,节省了一些硬件设备的资源。
相关文章推荐
- MFC_解决按下回车键退出程序的问题
- java中执行删除文件操作,要关闭输入输出流
- 玩转Bootstrap(基础) -- (6.导航条基础)
- 【数字概念】阿里苏宁联合:一种商业文明的倒退 63.65 万亿 10.4 万亿 1.68 万亿
- 一次数据库相关操作卡住的排查--enq: TX - row lock contention
- Mac上HAX is not installed on this machine 的解决办法
- c++取余问题
- 【动态规划】[COCI]摘樱桃
- BestCoder Round #52 (div.2)(hdu 5417,hdu 5418)
- EntityFramework DbContext 线程安全
- SharePoint 2013 - Cross-domain Library
- 前缀+排序 HDOJ 4311 Meeting point-1
- 第3章 链表
- rabbitMQ 和 protoBuf 整合
- JAVA UUID 生成
- Matlab自动控制系统应用
- php利用smtp类轻松的发送电子邮件
- python iterator迭代器、yield、container容器和for循环的联系与区别
- Java贪吃蛇程序
- Apache shutdown unexpectedly启动错误解决方法