iOS KSCrash的使用

作者: Dosun | 来源:发表于2017-03-03 08:56 被阅读1491次

KSCrash 是一个开源的第三方框架,可以将用户的崩溃日志以邮件发给你或者以发给我们提供的服务器,但是那个格式是jason格式,只有邮件可以设置成appStyle。如下我将讲述如何使用它吧。KSCrash代码,可以下载人家代码,但是那个代码不是最新的,我个人比较喜欢用Pod 导入,这样保证代码是最新的,Pod的安装和使用

用KSCrash崩溃报告不是时时发,而是APP 崩溃时,将崩溃日志记录,第二次启动APP的时发送,但是腾讯Buglg可以做到时时发送崩溃报告,这样做很不安全,不建议这样做。因为崩溃时,APP本身处于不友好的环境,我们再做其他事情,容易造成死锁,下一次用户不能开动APP,很不好的用户体验。

如下讲解将用户的崩溃日志,一种是发邮件给开发 和以发给服务器形式。

第一种是可以将崩溃日志发到邮箱去

- (KSCrashInstallation*) makeEmailInstallation
{
//开发者邮件地址
NSString* emailAddress = @"oli_iosdeveloper@163.com";
KSCrashInstallationEmail* email = [KSCrashInstallationEmail sharedInstance];
email.recipients = @[emailAddress];
email.subject = @"Crash Report";
email.message = @"This is a crash report";
email.filenameFmt = @"crash-report-%d.txt.gz";
[email addConditionalAlertWithTitle:@"Crash Detected"
message:@"The app crashed last time it was launched. Send a crash report?" yesAnswer:@"Sure!" noAnswer:@"No thanks"];
// 如下代码是设置发送StyleApple 如果不加的话,会以jason的格式传给开发者。
[email setReportStyle:KSCrashEmailReportStyleApple useDefaultFilenameFormat:YES];
return email;
}

第二种是可以将崩溃日志发到贵司的服务器的

- (KSCrashInstallation*) makeStandardInstallation
{
NSURL* url = [NSURL URLWithString:@"http://put.your.url.here"];//写入服务器的网址
KSCrashInstallationStandard* standard = [KSCrashInstallationStandard sharedInstance];
standard.url = url;
return standard;
}

如下是两个格式的公共代码

- (void) installCrashHandler
{
// Create an installation (choose one)
//    KSCrashInstallation* installation = [self makeStandardInstallation];
KSCrashInstallation* installation = [self makeEmailInstallation];

// 安装异常处理者,越早安装越好
// 如下将自动记录崩溃信息,但是它不会自动发送报告
[installation install];
// 此方法是确认崩溃报告发送后,如何处理旧的崩溃。
[KSCrash sharedInstance].deleteBehaviorAfterSendAll = KSCDeleteNever; 
// 发送崩溃日志
[installation sendAllReportsWithCompletion:^(NSArray* reports, BOOL completed, NSError* error)
{
if(completed)
{
NSLog(@"Sent %d reports", (int)[reports count]);
}
else{
NSLog(@"Failed to send reports: %@", error);
}}];}

我只是代码的搬运工,哈哈。最后不要尝试在 APP崩溃的时候,将崩溃日志发送出来,这样很有可能将呈现一个死循环,第二次根本无法启动APP。后续我将分享PLCrasher的用法,敬请期待。
本人小白,望多指点!!感恩。
May maker help us all!! Thank you a lot again!!

相关文章

  • KSCrash翻译

    KSCrash:一个终极的iOS crash reporter 为何使用KSCrash? 因为在现有的一些cras...

  • KSCrash+Symbolicatecrash日志分析

    KSCrash的基本使用 KSCrash是 iOS 平台最强大的崩溃收集开源库之一。支持多设备的崩溃收集(Mac\...

  • iOS KSCrash的使用

    KSCrash 是一个开源的第三方框架,可以将用户的崩溃日志以邮件发给你或者以发给我们提供的服务器,但是那个格式是...

  • 移动端性能监控

    1.移动端监控体系之技术原理剖析2.iOS KSCrash的使用3.OOMDetectorOOMDetector是...

  • pod使用与不使用use_framework!时的一个区别

    在调研Bugtags与KSCrash的时候,发现Bugtags底层收集Crash是使用KSCrash的,因此在测试...

  • 使用KSCrash进行崩溃日志的采集

    KSCrash的功能特性 KSCrash的日志处理 KSCrash的集成扩展 1.KSCrash的功能特性 我挑选...

  • iOS 崩溃日志使用KSCrash收集、分析

    日志收集 iOS开发中经常会遇到程序异常闪退的情况,快速的错误定位、问题修复、很大程度上依赖我们的异常日志,所以日...

  • FileMode 被改动引发的XCode编译错误

    表现: 编译的KSCrash.framework上传到git上后, 之前一直使用正常。后来某天出现编译不过,提示找...

  • fishhook

    背景 最近在搞KSCrash,出现了动态库C不能捕获的问题。 官方给的方法是使用fishhook,但是又出现了pe...

  • KSCrash源码学习

    KSCrash监控的crash有以下几种类型: 分别通过不同的KSCrashMonitor类绑定: 主要hook以...

网友评论

  • panv587:填写了邮箱后,却收不到邮件,你遇到了吗?
    红发_KVO:提示This device is not configured to send email,手机上要配置邮箱,最好不是要接收的邮箱是吧?
    panv587:@Dosun 刚刚按照你说的,配置成功了,谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢:clap: 谢谢:clap:
    Dosun:@M13M13 你苹果手机有设置自己邮箱没,意思就是说你邮箱在手机上是上线的

本文标题:iOS KSCrash的使用

本文链接:https://www.haomeiwen.com/subject/yfbhgttx.html