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!!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐