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了