**新建 ExtendNSLog 类,继承自 NSObject
**在 ExtendNSLog.h 中删除默认代码 添加以下函数声明:
void ExtendNSLog(const char *file, int lineNumber, const char *functionName, NSString *format, ...);
**在 ExtendNSLog.m 中删除默认代码 添加以下代码实现:
void ExtendNSLog(const char *file, int lineNumber, const char *functionName, NSString *format, ...) { va_list ap; va_start(ap, format); if (![format hasSuffix: @" "]) { format = [format stringByAppendingString: @" "]; } NSString *body = [[NSString alloc] initWithFormat:format arguments:ap]; va_end(ap); NSString *fileName = [[NSString stringWithUTF8String:file] lastPathComponent]; fprintf(stderr, "(%s) (%s:%d) %s", functionName, [fileName UTF8String], lineNumber, [body UTF8String]); }
**新建 PrefixHeader.pch 文件 输入以下内容:
#ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "ExtendNSLog.h" #ifdef DEBUG #define NSLog(args...) ExtendNSLog(__FILE__, __LINE__, __PRETTY_FUNCTION__, args); #else #define NSLog(x...) #endif #endif
**选择 项目->TARGETS->[ProjectName]->Build Settings
在搜索框输入 prefix header 在 Prefix Header中输入 [ProjectName]/PrefixHeader.pch
**运行测试,修改运行模式
搞定收工!
转自:http://liufan321.github.io