iOS 增加崩溃监测友好提示,维护好每个客户。

经历————>感悟:

前几天在地铁玩手机,无意间打开了好久没玩的新浪微博,进入首页向上刷新数据,一下就崩溃了。正当我差异大新浪的用户体验的时候,第三遍打开弹出了一个很友好的崩溃提示,如下图:

之后,我想这个就是我们需要借鉴的地方,虽然说这应该是产品考虑的问题。做开发的都知道,应用避免不了在某些特殊情况会出现崩溃,然而客户就是上帝,为了维护好客户,要给客户最友好的提示,即使应用崩了,也要告诉用户,给他们几个选择的余地。


于是,我就在代码里面增加了崩溃监测,代码如下:

在appdelegate.m中添加

   NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);//监测崩溃!!!

   void UncaughtExceptionHandler(NSException *exception) {

    NSArray *arr = [exceptioncallStackSymbols];//得到当前调用栈信息

    NSString *reason = [exceptionreason];//非常重要,就是崩溃的原因

    NSString *name = [exceptionname];//异常类型

    

    NSLog(@"exception type : %@ \n crash reason : %@ \n call stack info : %@", name, reason, arr);

    if (arr.count!=0 && reason.length!=0 && name.length != 0) {

        [[NSUserDefaultsstandardUserDefaults]setBool:YESforKey:@"exception"];

    }

    

}

然后如果万一出现崩溃,就记录下来
[[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"exception"];
每次程序一启动再去判断有没有这个崩溃,

[[NSUserDefaultsstandardUserDefaults]boolForKey:@"exception"]//判断是否奔溃!!!

有的话再做版本升级、清除缓存、(让后台处理之后)重新进入 等处理。。。这些在这里就不详说了
最后,别忘了清除本次的监测结果

[[NSUserDefaultsstandardUserDefaults]removeObjectForKey:@"exception"];//取完要删除掉

[[NSUserDefaultsstandardUserDefaults] synchronize];






  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值