用NSLogger代替NSLog输出调试信息
安装
NSLogger分为两部分,LoggerClient和NSLogger Viewer,你的App需要导入前者,后者是一个独立的mac应用,NSLogger所有的调试信息将输出到这个应用中。
安装NSLogger:
$ vim Podfile
pod 'NSLogger', '1.1'
$ pod install
如果你不了解Pod,可以参考这里
编译NSLogger Viewer
我在第一次编译时,系统出现了这个错误信息:
Code Sign error: The identity '3rd Party Mac Developer Application' doesn't match any valid, non-expired certificate/private key pair in your keychains
只需将Build Settings => Code Signing Identity 设置为Don't Code Sign。
编译通行过后会在项目的Products生成一个NSLogger.app的文件,只须把该文件拷贝到应用目录即可。
使用NSLogger
在需要用到NSLogger的程序导入LoggerClient.h头文件,一般可在ProjectName_Prefix.pch文件导入:
#import "LoggerClient.h"
现在可以用LogMessage等函数来代替NSLog了,更简单的方法是编写一个宏:
#define NSLog(...) LogMessageF( \
__FILE__, \
__LINE__, \
__FUNCTION__, \
nil, 0, \
__VA_ARGS__)
这样,你所有使用NSLog的地方将自动被LogMessageF取代。
用NSLogger代替NSLog输出调试信息的更多相关文章
- js操作dom---创建一个域来输出调试信息
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 在MFC中,使用控制台Console输出调试信息
1.在MFC的应用类的InitInstance()函数里添加: AllocConsole(); 有时候需要调整这行代码在InitInstance函数的位置 2.继续添加以下代码 freopen(&qu ...
- 使用OutputDebugString输出调试信息
在编写控制台程序的时候我们经常会使用printf输出调试信息,使我们了解程序的状态,方便调试,但是当编写非控制台程序的时候这种方法就行不通了,那我们应该怎么办?上网查了一些方法,大致就如下几种 使用L ...
- shell输出调试信息
[shell输出调试信息] 1.使用trap命令 trap命令用于捕获指定的信号并执行预定义的命令. 其基本的语法是: trap 'command' signal 其中signal是要捕获的信号,co ...
- Delphi中使用Dos窗口输出调试信息
在项目文件 *.DPR (Project->View Source) 里加上{$APPTYPE CONSOLE} 然后,在需要输出处加上 Writeln(‘your debug messa ...
- 【OT1.0 + TP3.2】开启trace调试、输出调试信息、开启自定义菜单
1.开启trace调试 A- 后台系统设置 show-page-trace = 1 B-config.php文件.配置 show-page-trace = true 2.输出调试信息 很奇怪,OT竟然 ...
- Delphi RAD Berlin OutputDebugString 输出调试信息
Delphi RAD Berlin Event Log.OutputDebugString 输出调试信息,仅在win VCL下可以用.OutputDebugString(PChar('hellowor ...
- 跟踪Makefile输出调试信息
/********************************************************************* * 跟踪Makefile输出调试信息 * 说明: * 有时 ...
- Qt 使用#define+qDebug()输出调试信息
/******************************************************************************************* * Qt 使用 ...
随机推荐
- 使用html进行浏览器判断,浏览器条件注释
下面来点今天写东西的时候查资料,收集的关于使用html进行浏览器判断的一些资料: 条件注释的基本格式: <!--[if expression]>注释内容<![endif]--> ...
- Apache shiro学习总结
Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...
- Asp.net自定义控件开发任我行(6)-嵌入资源下
摘要 上一章,我们讲了嵌入.css文件,这一章,我们来讲一下嵌入.js文件,也顺带一个嵌入Image文件 内容 我们前面的几章,一运行,下拉框就显示出来了,但是DropDwonList的下拉框是被隐藏 ...
- 使用dnspod遭遇的奇特问题以及背后的原因与临时解决方法
由于园子里有不少用户在使用dnspod,我们觉得有必要将这两天blogjava.net域名在dsnpod遇到的奇特问题分享一下,以免再有人踩着这个坑. 12月11日,我们登录到dnspod的后台时,大 ...
- 设计模式之第21章-状态模式(Java实现)
设计模式之第21章-状态模式(Java实现) “what are you 干啥了?怎么这么萎靡不振?”“昨晚又是补新番,又是补小笼包,睡得有点晚啊.话说杨过的那个雕兄真是太好了,每天给找蛇胆,又陪练武 ...
- Postgresql 查看建表语句 命令
pg_dump -U username databasename -W -s -t tablename -s, --schema-only 只转储模式, 不包括数据 -t, --table=TABLE ...
- Map 的两种遍历方法详细说明
//方法一 Set<String> set = map.keySet(); for (String s:set) { System.out.println(s+","+ ...
- RNQOJ Jam的计数法
题目:https://www.rqnoj.cn/problem/3 非递归做法:(严格递增 单调大于 不可等于 ) 做法:循环体 <1>操作字符串 str 从后往前找,k=1,如果s[w ...
- PAT1017
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格 ...
- Unity3D_异步加载场景(进度条)
创建两个场景:现在的场景“NowScene”,要加载的场景“LoadScene”: “NowScene”如图所示,“LoadScene”任意: 创建脚本“AsyncLoadScene”,复制如下代码, ...