博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

根据是Debug和Release显示不同的调试信息在Ios开发中是常见的

我以前是这么做的 

 #ifdef DEBUG

#define Dlog NSLog
#else
#define Dlog //NSLog
#endif


但是在Xcode4.2 里当设置为release版本的时候,会给警告。 

 

收集了下显示debug信息的方法

方法一

  在prefix header pch文件中添加如下代码

#ifndef __OPTIMIZE__

#    define NSLog(...) NSLog(__VA_ARGS__)

#else

#    define NSLog(...) {}

#endif 

方法二

 // DLog is almost a drop-in replacement for NSLog

// DLog();
// DLog(@"here");
// DLog(@"value: %d", x);
// Unfortunately this doesn't work DLog(aStringVariable); you have to do this instead DLog(@"%@", aStringVariable);
#ifdef DEBUG
#       define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#       define DLog(...)
#endif

// ALog always displays output regardless of the DEBUG setting
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

 

当然,你还想需要更强大的调试能力,那么这个开源的NSLogger可能会比较对你的口味。 https://github.com/fpillet/NSLogger

 

 

posted on 2011-12-02 19:56  Likwo  阅读(4762)  评论(0编辑  收藏  举报