ios捕获异常并发送图片,便于解决bug[通俗易懂]

ios捕获异常并发送图片,便于解决bug

大家好,又见面了,我是全栈君。

在开发过程中,我们有时候会留下Bug,用户在使用我们的app 的时候,有时会出现闪退,这时候我们能够让用户给我们发送邮件,以让我们开发者更加高速的地位到Bug的所在。以最快的时间解决。同一时候也提高用户体验。

       在AppDelegate.m文件里,加入例如以下代码:

01 NSUncaughtExceptionHandler* _uncaughtExceptionHandler = nil;
02 void UncaughtExceptionHandler(NSException *exception) {
03     NSLog(@"CRASH: %@", exception);
04     NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
05      
06     // 异常的堆栈信息
07     NSArray *stackArray = [exception callStackSymbols];
08     // 出现异常的原因
09     NSString *reason = [exception reason];
10     // 异常名称
11     NSString *name = [exception name];
12      
13     NSString *syserror = [NSString stringWithFormat:@"mailto://75092731@qq.com?subject=bug报告&body=感谢您的配合!<br><br><br>"
14                           "Error Detail:<br>%@<br>--------------------------<br>%@<br>---------------------<br>%@",
15                           name,reason,[stackArray componentsJoinedByString:@"<br>"]];
16      
17     NSURL *url = [NSURL URLWithString:[syserror stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
18     [[UIApplication sharedApplication] openURL:url];
19     return;
20 }

   然后在 – ( BOOL )application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions方法中加入一下代码:

1 // 保存系统处理异常的Handler
2     _uncaughtExceptionHandler = NSGetUncaughtExceptionHandler();
3      
4     // 设置处理异常的Handler
5     NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116313.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sudo chmod 755 ….指令分析

    sudo chmod 755 ….指令分析sudo:使用管理员root权限执行指令。chmod:文件调用权限分为三级:文件拥有者、群组、其他。利用chmod可以改变文件权限。775:7,7,5各代表一个权限其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。-rwx-r–r–(一共10个参数)表示文件所属组和用户的对应权限。第一个跟参数属于管理员,跟chmod无关,先不管.2-4…

    2022年7月16日
    17
  • sortedset实现_实现serializable接口

    sortedset实现_实现serializable接口1.SortedSet接口 继承了Set接口,基本类型加String类型放到排序的集合中,可以不用写实现Comparable接口,但是自定义类类型就必须实现这个接口,不然会报类型转换错误(collection接口的remove())  SortedSet接口的子类有TreeSet类 …

    2022年8月30日
    0
  • 论如何用cmd命令做出数字雨特效「建议收藏」

    论如何用cmd命令做出数字雨特效「建议收藏」大家应该都看过《黑客帝国》这部电影,当时我就震惊了,那个数字雨特效做的太牛逼了!所以我趁着周末的休闲时间,略加研究,找到了用cmd做数字雨特效的方法,只需要三步:Step1首先,我们新建一个后缀名为.txt的文本文档,然后命名(其实命名都无所谓,你高兴就好),双击进入:Step2在里面编写代码:@echooff//这段代码是用来关闭后面的提示语句的titleqwedsazx890//这段代码是设置访问用户的,大可不必,写上也可以,”title”后面的

    2022年5月9日
    178
  • java中|和||的使用和区别「建议收藏」

    java中|和||的使用和区别「建议收藏」区别||为逻辑运算符,而|为位运算符。位运算可以进行进行int数的或运算。例:4|1=54写作二进制数1001写作二进制数001做或运算得出101即5||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。我们定义一个链表classListNode{intval;ListNodenext;ListNode(intx){val=x;}}Lis

    2022年7月8日
    18
  • ug与solidworks比较_如何比较

    ug与solidworks比较_如何比较ug是个综合性很强大,sw机械设计方面很强大。工业设计用solidworks较好,模具设计用UG为好。UG适合大型产品,如飞机,汽车,轮船,solidworks适合小型机械产品。UG是想做什么

    2022年8月6日
    4
  • Spring的AOP与动态代理[通俗易懂]

    Spring的AOP与动态代理[通俗易懂]Spring的AOP与动态代理

    2022年4月22日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号