NSLog输出管理

平时在开发的时候,经常会用到 NSLog 来调试程序,随着项目越来越大,这些用于调试的日志输出就会变得很难管理。 发布正式版的时候一定要屏蔽掉所有后台输出,因为这些输出还是比较消耗系统资源的。  往往到了这个时候,我们不得不去一行一行的找到 NSLog 调用,然后注释掉。 这样就太麻烦了,下面就给大家介绍一个简单的方法,让我们在生成 Release 版本时可以快速屏蔽所有的 Log 输出。


首先我们先要定义这样一段预处理命令,文件名随便起,例如 GameDefine.h

#define kGameDedug 1

// 游戏日志打印
#if kGameDedug
#define GameLog(...) NSLog(__VA_ARGS__)
#else
#define GameLog(...)
#endif

然后找到项目内自动生成的 xxx-prefix.pch 的文件,只要注意到 pch 这个扩展名就可以了。 

#import <Availability.h>

#ifndef __IPHONE_3_0
#warning "This project uses features only available in iPhone SDK 3.0 and later."
#endif

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif

把我们的GameDefine.h头文件添加进去就可以了。

#import <Availability.h>

#ifndef __IPHONE_3_0
#warning "This project uses features only available in iPhone SDK 3.0 and later."
#endif

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "GameDefine.h"
#endif

这样就可以在项目所有文件中访问GameLog了




posted on 2012-03-24 10:20  shawn.zp  阅读(948)  评论(0编辑  收藏  举报