总结了iOS常用的一些调试技巧
1.报错信息下面的调用堆栈内容,通过调动堆栈中的信息查找对应的出错位置
在真机测试的时候不会显示调用堆栈的内容如下图
2.程序上线后如何搜集错误信息?
推荐一个腾讯的崩溃分析框架: Bugly (友盟和国外的一些做错误收集的得三方框架也有很多,目前Bugly使用最方便)
登录Bugly官方网站查看相关文档:先Pod进去该框架(在创建白工程的时候想不起来在终端输入install --no-repo-update的时候可以输入install --help下面会有一个帮助信息出来里面有install
--no-repo-update这条命令行),然后手动集成如下图
注意在APPDelegate中填入自己创建的应用AppId;
完成以上步骤即可.错误分析如下图(注意:一般在Xcode中运行代码的时候会崩溃在main函数中,点击真机中的应用即可查看崩溃信息,如果不显示,多点击多刷新几次)
3.工作中NSLog的处理
(1).创建PCH(设置pch,在Build Setting中搜索prefix header,填写pch文件名,如下图)
(2).在pch中进行NSLog的宏替换(调试运行的时候显示,在上线的时候不显示)
也可以直接复制粘贴下面的代码(调试运行时显示具体哪行):
#ifdef __OBJC__
#ifdef DEBUG
#define NSLog(fmt, ...) NSLog((@"%s [Line %d] "fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define NSLog(...)
#endif
#endif