Phone开发中会经常使用NSLog将一些运行信息输出到终端,特别是出于调试的目的。但是实际的发布版本通常是不需要任何终端输出的。对于iPhone应用,这种终端输出的成本跟高。为了在发布版本中的移除NSLog输出也有几种办法。常见的一种就是定义一个DEBUG之类的常量进行NSLog相关代码的条件编译。不过用这种方法需要在每次新建一个项目时进行相应的设定,而且在Log时还需要进行条件编译处理。
本人认为更好的办法就是为项目定义一个自定义的Log函数,不仅可以有项目特色,而且可以透明地实现发布版本中NSLog输出的移除。自定义的Log函数如下:
#if TARGET_IPHONE_SIMULATOR
#define NDLog(format, …) NSLog(format, ##_VAR_ARGS_)
#else
#define NDLog(format, …) {}
#endif
当然,你如果不想多记一个自定义的Log函数,你还可以一不做二不休,直接重新定义下NSLog,代码如下:
#ifndef TARGET_IPHONE_SIMULATOR
# define NSLog(...) NSLog(__VA_ARGS__)
#else
# define NSLog(...) {}
#endif
此外,TARGET_IPHONE_SIMULATOR还可以替换成__OPTIMIZE__,因此__OPTIMIZE__通常是在发布版本中定义的。你所需要做的就是将这些代码包含到项目的预编译头文件中。
相关推荐
nslog输出格式 iphone开发 非常好用的nslog,提供各种格式的输出。
XCode用NSLog输出系统字体名称!不知道系统都有那些字体的!可以参照此Demo
在iOS开发中,debug时经常要用到NSLog输出内容,debug完成后又需要去掉,比较麻烦,内容也不够详细。参考网上资源,扩展NSLog并利用宏替换实现按class打开或关闭的详细的NSLog输出,可以方便使用。
在开发IOS程序过程中,经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程。但是一个发布的程序,里面带有太多的NSLog输出,...
主要介绍了Objective-C中NSLog输出格式的相关资料,非常的简单,有需要的小伙伴可以参考下。
本文给大家介绍的是iOS开发中关于nslog的输出时机的相关内容,非常简单实用,有需要的小伙伴可以参考下
作者jiaforios,源码ZJDebugLogView,实现方法:重定向NSLog 输出到本地 实现脱机下同样可以查看输出日志 使用方法: 在全局头文件中(.pch 文件) 中重新宏定义 NSLog #define NSLog(format, ...) do { \ (NSLog...
Teleport-NSLog, iOS远程日志记录将NSLog消息发送到后端服务器 传送 nslog 当你的应用程序在用户的设备中运行时,传送NSLog捕获NSLog消息,并将它们发送给指定的后端服务器。 在Xcode中调试时,我们使用NSLog将许多...
iphone 开发学习项目创建及调试输出NSLog,初学者
IOS上线项目NSLog处理
前言 对于那些做后端开发的工程师来说,看LOG解Bug应该是理所当然的事,但我接触到的移动应用开发...NSLog输出到哪里? 在iOS开发中,我们经常会用到NSLog调试,但是我们却不太了解它。在NSLog本质是一个C函数,它的函
这个源码是支持记录log和替换NSLog功能,源码CCLogSystem,CCLogSytem是个人项目中用来替换NSLog,并可以记录log,查看log的一套简单方便的库。 特性:1)使用CC_LOG代替NSLog,并且提供更加详细的输出信息。使用方法...
iphone 开发学习基础NSLog,初学者使用。
NSLog时常用的打印格式,记不住的保留看看
- 重定向NSLog输出日志到文件中,这样你就不用替换到你项目中已有的NSLog()代码啦。 - 重定向程序奔溃日志到文件中。 - 自动根据当前设备信息选择要不要记录日志的同时把日志打印到控制台。 - 方便增删改查当前...
软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...