Date
Nov. 23rd, 2024
 
2024年 10月 23日

Post: iOS : 关闭 NSLog

iOS : 关闭 NSLog

Published 12:08 Aug 11, 2012.

Created by @ezra. Categorized in #Programming, and tagged as #iOS.

Source format: Markdown

Table of Content

在 iOS 开发中经常会用到 NSLog 方法输出一些调试日志到控制台,随着开发进程的推进,日志输出变得越来越多,应用发布后因此所产生的不必要的资源浪费也与日俱增,那么怎样解决这个问题呢?

当然,你可以单纯的全局替换 NSLog// NSLog,但作为一个高傲的研发工程师的你怎么妥协于这种愚蠢的策略呢?

事实上虽然并不推崇大量使用宏定义(众所周知,宏定义的广泛使用可能会带来一些不必要问题,这也是为什么 Java 等语言摒弃了宏),但某些情景下宏的使用也不失为一种好的策略。

#ifdef DEBUG
#define NSLog(...)  NSLog(__VA_ARGS__)
#else
#define NSLog(...)
#endif

这段代码的原理是,利用宏 DEBUG 的定义与否,将 NSLog 在非调试状态替换为空白内容,只需要加入 .pch 或其他公共头文件即可。

Pinned Message
HOTODOGO
The Founder and CEO of Infeca Technology.
Developer, Designer, Blogger.
Big fan of Apple, Love of colour.
Feel free to contact me.
反曲点科技创始人和首席执行官。
开发、设计与写作皆为所长。
热爱苹果、钟情色彩。
随时恭候 垂询