IPhone 程序的调试信息只在 debug 模式下输出

来源:互联网 发布:led屏幕软件 编辑:程序博客网 时间:2024/04/25 21:13
Phone 应用发布后,程序运行过程中尽量不要有调试 log 信息输出,因为这样会影响程序运行的效率。通过宏定义设置,使得程序只在 debug 模式下输出这些只对于我们开发者有用的信息,而 release 时不会输出。
一、设置步骤如下:
1、首先建立一个宏定义文件,在其中加入如下代码:

//! 1、XCode 中设置控制
// Target > Get Info > Build > GCC_PREPROCESSOR_DEFINITIONS
// Configuration = Release: <empty>
//               = Debug:   DEBUG_MODE=1
//!2、人为控制
//#define DEBUG_MODE
#ifdef DEBUG_MODE
#define DebugLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DebugLog( s, ... )
#endif
 
2、在 Target 的 Bulid 搜索 GCC_PREPROCESSOR_DEFINITIONS(或者 preprocessor macros),没有自己创建一个
3、选择 左上角的 Configuration 的 Debug,在左下角的下拉框选择->Edit Definition at this Level ,添加 DEBUG_MODE=1
4、选择左上角的Configuration: Release,确认没有设置 DEBUG_MODE 的值

二、使用:
首先相应有调试信息的文件中包含此宏文件,使用DebugLog替代cocoa的NSLog,格式化输出的方式一样。
原创粉丝点击