iOS项目异常捕捉提示及处理方案。
2016-07-27 16:01
525 查看
iOS 异常捕捉、说明。
在项目调试过程中,经常会遇到闪退,怎么比较友好的收集这些错误、异常信息呢? 看了网上的许多处理方式,其实大概意思都差不多,可以本地存储异常日志,待合适时候再发送,也可以通过邮件的形式,将异常发给开发者。这篇文章将会把一些接口统一一下,并提供 断言, 错误的具体位置(类名及行数)、所有异常报告内容、及异常报告文件路径接口。 并统一展示 异常日志 。
使用说明 :
第一步 :将Demo中的 UncaughtExceptionHandler 文件夹及其中的文件直接拖入到项目当中, 并将 #import "DKDebug.h" 和 #import "WBUncaughtExceptionHandler.h" 导入到项目的 pch 文件中 即可。
第二步 :在 WBUncaughtExceptionHandler.h 中,配置 SENT_TO_MAIL 宏字符串,这是你要接收异常日志的邮箱。
说明: 之后项目出现闪退异常,会弹出提示框,并且将所有的异常错误日志写入缓存文件中,用户选择发送给开发者,可以将当前的异常信息发送邮件给开发者。 如果要获取所有的异常日志,也有提供所有异常信息字符串,及异常文件的路径,后面会再说明。
关键类、接口、属性说明 :
WBUncaughtExceptionHandler.h 中 。// // WBUncaughtExceptionHandler.h // ExceptionHandler // // Created by YuTianLong on 16/7/27. // Copyright © 2016年 http://blog.csdn.net/yutianlong9306/. All rights reserved. // #import <Foundation/Foundation.h> #define SENT_TO_MAIL (@"ReceiveMail@gmail.com") //配置接收异常邮件的邮箱号 #define GetUncaughtExceptionHandler() ([WBUncaughtExceptionHandler sharedInstance]) @interface WBUncaughtExceptionHandler : NSObject { BOOL isExit; } @property (nonatomic, copy) NSString *wrongLocation; //断言产生的错误的具体位置,类名,行数 @property (nonatomic, readonly) NSString *allExceptionReport; //读取所有异常报告 @property (nonatomic, readonly) NSString *logFileUrl; //获取错误日志文件本地路径 + (instancetype)sharedInstance; @end /** * AppDelegate 调用安装异常监测 */ void InstallUncaughtExceptionHandler(void);
SENT_TO_MAIL
//配置接收异常信息的邮箱帐户。
isExit //判断项目是否退出,默认NO。
wrongLocation
//如果是否断言DKAssert产生的异常,则该属性就不为空。(记录类名及第几行错误)
allExceptionReport//读取异常日志文件中的所有异常信息。(可用户读取异常信息 发送后台)
logFileUrl
//异常日志文件 的路径。(可用于统一展示异常文件,读取路径,文件类型.TXT)
InstallUncaughtExceptionHandler()
//在 didFinishLaunchingWithOptions 中调用。
注意 : 使用断言DKAssert调试的话,用真机调试。
Demo 效果:
Demo 下载地址 :
http://download.csdn.net/detail/yutianlong9306/9587834相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- ASP.NET生成eurl.axd Http异常错误的处理方法
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- iOS App开发中的UISegmentedControl分段组件用法总结
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程
- 浅析iOS应用开发中线程间的通信与线程安全问题
- iOS中的UIKeyboard键盘视图使用方法小结
- 检测iOS设备是否越狱的方法