iPhone sdk以编程方式读取崩溃文件?

时间:2011-05-10 07:37:59

标签: iphone crash crash-reports crash-log

我想以编程方式读取崩溃文件。 我怎样才能做到这一点?

我被允许这样做?如果我这样做,我的申请会被拒绝吗?

任何建议,链接,教程都很好。

2 个答案:

答案 0 :(得分:8)

我不确定它是否可行。您无法自己访问日志,但是您可以捕获未捕获的异常并生成您自己的崩溃日志,我认为您可以使用它们 以下示例:http://cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html

它非常简单易用,只需使用以下命令注册异常和信号处理程序:

NSSetUncaughtExceptionHandler(&HandleException);
signal(SIGABRT, SignalHandler);
signal(SIGILL, SignalHandler);
signal(SIGSEGV, SignalHandler);
signal(SIGFPE, SignalHandler);
signal(SIGBUS, SignalHandler);
signal(SIGPIPE, SignalHandler);

使用backtrace类中的UncaughtExceptionHandler方法获取堆栈跟踪。

答案 1 :(得分:1)

我不认为这是可能的(至少在非越狱的iOS设备上)。崩溃文件写在应用程序沙箱之外,它们通过桌面上运行的iTunes传输到Apple(如果用户允许)。因此,当您将iOS设备与iTunes同步时,崩溃报告是复制到iTunes的项目之一。

兼容的App Store iOS应用程序将无法读取崩溃文件所在的目录。