<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> 在制作SDK时,经常要打印日志调试,但是发布时又不想要打印日志(十分消耗性能),并且将制作好得SDK交给他人使用时,为了给予他人良好的用户体验,设置打印Log日志开关就十分有必要了。</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">首先:</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="objc">// 项目打包发布上线不会打印日志,可放心。
#ifdef DEBUG
#define DebugLog(s, ... ) NSLog( @"[%@:in line: %d]-->[message: %@]", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DebugLog(s, ... )
#endif
接着,
static BOOL HJ_isEnableInterfaceDebug = NO;
@implementation HJLogSwitch
+ (void)enableInterfaceDebug:(BOOL)isDebug {
HJ_isEnableInterfaceDebug = isDebug;
}
+ (BOOL)isDebug {
return HJ_isEnableInterfaceDebug;
}
+ (void)show{
if ([self isDebug]) {
DebugLog(@"日志处理");
}
}
@end
最后,调用:
[HJLogSwitch enableInterfaceDebug:YES];
[HJLogSwitch show];
哦了,搞定。
思路很简单,就是一装B利器。