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后再来骚扰我们啦,哈哈。