【问题标题】:Is there any way to get iOS crash report of its application programmatically?有没有办法以编程方式获取其应用程序的 iOS 崩溃报告?
【发布时间】:2017-11-16 03:15:05
【问题描述】:

在做了一些研究之后,我尝试了这些,这就是我得到的:

我发现崩溃日志放在这个文件夹中:

/var/mobile/Library/Logs/CrashReporter/

有了这些信息,我尝试:

通过使用获取该路径下的文件

[[NSFileManager defaultManager]  contentsOfDirectoryAtPath:crashReportPath error:&error];

但我总是得到 NSCocoaErrorDomain 257,这意味着我没有权限。

因此,我尝试通过使用来设置此文件夹的权限

NSFileManager *manager = [NSFileManager defaultManager];
NSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithDictionary:[manager attributesOfItemAtPath:crashReportPath error:nil]];
[attributes setValue:[NSNumber numberWithShort:0777] forKey:NSFilePosixPermissions];; // chmod permissions 777
[manager setAttributes:attributes ofItemAtPath:crashReportPath error:&error];

但我总是得到 NSCocoaErrorDomain 513 NSFileWriteNoPermissionError 这意味着我没有写权限。

没有运气,我试过这个帖子: iPhone sdk read crash files programmatically? 通过设置NSSetUncaughtExceptionHandler 来处理未处理的异常,但这似乎有一些问题,因为有时应用程序可能会处于不稳定或无效状态。

我知道有很多第三方崩溃报告插件,但它们中的大多数只是生成对某些监控信号的报告,而不是真正的崩溃报告。

关于获取真正的崩溃报告有什么建议吗? 有没有其他办法?

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    我找到了在我们自己的服务器上实现崩溃报告的最佳方式。

    在您的项目中实施此Crash Manager,它将为您提供最大可能的崩溃,您可以将崩溃报告上传到您自己的服务器。

    否则您也可以不使用任何库或第三方代码。 参考这个-How can we store crash logs in iOS application

    【讨论】:

      猜你喜欢
      • 2012-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-01
      相关资源
      最近更新 更多