Transwiki:发布App时自动屏蔽NSLog日志打印
跳到导航
跳到搜索
NSLog函数在Debug或Release的模式下都是有效的(为什么苹果这样设计呢?一般在Release被屏蔽才对。),导致发布的App会带来效率低下、消耗系统资源等问题。
为了解决这个问题,做了如下的设置:
/*创建DLog.h头文件*/
#ifndef DEBUG #define NSLog(...) /* */ #endif
这里需要说明下,DEBUG这个宏是在项目的“Build Settings”的"Preprocessor Macros"中定义。所以以上的代码在Release模式下把NSLog给完全屏蔽了。
最后在项目的"...-Prefix.pch"文件中加入声明进行预处理,如下:
#ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "DLog.h" #endif
完成上面的工作,那么我们就可以放心使用NSLog了,不会在Release后再来骚扰我们啦,哈哈。