`

如何移除发布版本中的NSLog输出

    博客分类:
  • ios
 
阅读更多

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输出格式 iphone开发 非常好用的nslog,提供各种格式的输出。

    XCode用NSLog输出系统字体名称Demo

    这个“XCode用NSLog输出系统字体名称Demo”是一个实用的示例,它展示了如何利用Objective-C编程语言在Xcode环境下获取并打印出iOS系统中所有可用的字体名称。对于开发者来说,了解系统内置的字体资源是非常有用的,...

    iOS中控制NSLog输出时机详解

    iOS中控制NSLog输出时机详解 本文将围绕iOS开发中NSLog输出时机的相关内容进行详细解释,并提供了一些实用的技巧和方法来控制NSLog的输出。 一、NSLog输出时机详解 在iOS开发中,NSLog是一个非常重要的输出工具,...

    扩展NSLog实现按class的自定义NSLog内容输出

    在iOS开发中,debug时经常要用到NSLog输出内容,debug完成后又需要去掉,比较麻烦,内容也不够详细。参考网上资源,扩展NSLog并利用宏替换实现按class打开或关闭的详细的NSLog输出,可以方便使用。

    IOS中(Xcode) DEBUG模式(RELEASE模式)控制NSLog输出,NSLog输出方式

     在开发IOS程序过程中,经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程。但是一个发布的程序,里面带有太多的NSLog输出,...

    重定向NSLog 输出到本地案例

    作者jiaforios,源码ZJDebugLogView,实现方法:重定向NSLog 输出到本地 实现脱机下同样可以查看输出日志 使用方法: 在全局头文件中(.pch 文件) 中重新宏定义 NSLog #define NSLog(format, ...) do { \ (NSLog...

    Objective-C中NSLog输出格式大全

    在Objective-C编程中,`NSLog` 是一个非常常用的函数,用于在控制台输出日志信息,便于开发者在调试程序时查看变量的状态和程序运行流程。`NSLog` 支持多种格式化输出,以便输出不同类型的变量。下面将详细解释`...

    iphone 开发学习项目创建及调试输出NSLog

    本文将从创建一个新的Xcode项目开始,深入讲解如何使用`NSLog`来输出调试信息,帮助开发者更好地理解和定位代码中的问题。 #### 创建新的Xcode项目 首先,打开Xcode,选择“File”>“New”>“Project…”或直接按...

    IOS NSlog处理

    在iOS开发中,`NSLog`是一个常用的调试工具,它用于输出日志信息,帮助开发者在程序运行过程中追踪代码执行的细节。然而,在项目上线后,`NSLog`的过度使用可能会导致性能问题,因为日志信息会被写入设备的控制台,...

    Teleport-NSLog, iOS远程日志记录将NSLog消息发送到后端服务器.zip

    Teleport-NSLog, iOS远程日志记录将NSLog消息发送到后端服务器 传送 nslog 当你的应用程序在用户的设备中运行时,传送NSLog捕获NSLog消息,并将它们发送给指定的后端服务器。 在Xcode中调试时,我们使用NSLog将许多...

    iphone 开发学习基础NSLog

    需要注意的是,尽管NSLog在开发阶段非常有用,但在发布应用程序时,应该避免使用或禁用NSLog,因为它会增加应用的运行开销,并可能暴露敏感信息。在生产环境中,推荐使用更高效和安全的日志框架,如CocoaLumberjack...

    iphone开发学习笔记(1)--NSLog

    在iOS开发中,Objective-C是主要的编程语言,而`NSLog`是开发者最常用的工具之一,用于在程序运行时输出调试信息。本篇笔记将详细介绍`NSLog`的使用和其在iPhone应用开发中的作用。 `NSLog`是Foundation框架的一...

    Objective-C文字多行输出方法一

    在这个主题中,我们将深入探讨如何利用`NSLog`在Xcode中实现文字的多行输出。 首先,让我们了解`NSLog`的基本用法。`NSLog`的语法如下: ```objc NSLog(@"格式化字符串", 参数列表); ``` 其中,`@"格式化字符串"`...

    支持记录log和替换NSLog功能

    这个源码是支持记录log和替换NSLog功能,源码CCLogSystem,CCLogSytem是个人项目中用来替换NSLog,并可以记录log,查看log的一套简单方便的库。 特性:1)使用CC_LOG代替NSLog,并且提供更加详细的输出信息。使用方法...

    NSLog时常用的打印格式

    NSLog时常用的打印格式,记不住的保留看看

Global site tag (gtag.js) - Google Analytics