iOS开发:崩溃捕获

崩溃的捕获 需要在AppDelegate中注册并实现方法即可。


1:注册

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

NSSetUncaughtExceptionHandler(handleExceptionAndTalk);

return YES;

}

2:实现handleExceptionAndTalk方法

void handleExceptionAndTalk(NSException *exception){

NSString *content = [NSString stringWithFormat:@"========异常错误报告========\nname:%@\nreason:\n%@\ncallStackSymbols:\n%@",name,reason,[callStack componentsJoinedByString:@"\n"]];

//保存异常信息

NSMutableDictionary *info = [NSMutableDictionary dictionary];

info[@"name"] = [exception name];                          // 异常名字

info[@"reason"] = [exception reason];                      // 异常描述(报错理由)

info[@"callStackSymbols"] = [exception callStackSymbols];  // 调用栈信息(错误来源于哪个方法)

//写入沙盒

NSString *path =[NSHomeDirectory() stringByAppendingString:@"/crash.plist"];

[info writeToFile:path atomically:YES];

//  把异常崩溃信息发送至开发者邮件

NSMutableString *mailUrl = [NSMutableString string];

[mailUrl appendString:@"mailto:test@qq.com"];

[mailUrl appendString:@"?subject=程序异常崩溃,请配合发送异常报告,谢谢合作!"];

[mailUrl appendFormat:@"&body=%@", content];

// 打开地址

NSString *mailPath = [mailUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailPath]];

}

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 123,383评论 18 134
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 634评论 1 6
  • 最近项目上需要对崩溃信息进行处理,要满足崩溃后及时捕捉到崩溃信息,当应用下次打开后再将报文上传至服务器...
    迷失之刃阅读 3,825评论 9 8
  • 前言 有代码的地方,就可能会有崩溃。定位崩溃问题的方法:最直接的,通过重现的步骤去调适;但是,有时候测试无法确定崩...
    super_小黄阅读 1,071评论 1 5
  • 等了一年,新一季冰火终于出来了!虽说这两季剧情都是由编剧操刀,已经和原著没多大关系了,但仍旧精彩到爆啊!!! 我们...
    谢嘉宝阅读 247评论 1 3
  • 2011年12月20日 后来,在你的直板手机屏幕上,看到了那个女生,当时就觉得人家特漂亮,再看看自己,姿色平平,所...
    99709a08cec2阅读 90评论 0 0
  • 在28日凌晨以为即将离开巴厘岛,没想到还能第二次光临巴厘岛。飞机晚点一个小时起飞,眼睛睁了半天,终于进入了...
    Keikeikeiko阅读 92评论 0 0
  • 我不想哭。 但我无法忍住泪水流下 大脑一次次的回放着过去的美好 我不知道我想说什么 我不知道我该做什么 我还是没有...
    狂野的青春阅读 80评论 1 2
  • 一 2008年末,金融危机席卷全球最萧条的时候,我的股票账户相比起腰斩,已经斩到了膝盖。但当时电视里曾流行过一句话...
    三米河阅读 2,223评论 2 7