在做了一些研究后,我尝试了这些,这就是我所拥有的:
我发现崩溃日志放在这个文件夹中:
的/ var /移动/库/日志/ 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
来处理未处理的异常,但这似乎有一些问题,因为有时应用程序可能会处于不稳定或无效的状态。
我知道有很多第三方崩溃报告插件,但大多数只生成其监控的某些信号的报告,而不是真正的崩溃报告。
有关获取真实崩溃报告的任何建议吗? 还有其他方法吗?
答案 0 :(得分:0)
我找到了在我们自己的服务器上实现崩溃报告的最佳方法。
在您的项目中实施此Crash Manager,它将为您提供最大可能的崩溃,并且您可以将崩溃报告上传到您自己的服务器。
否则您也可以不使用任何库或第三方代码。 请参阅此内容 - How can we store crash logs in iOS application