如何从客户那里获得iPhone崩溃日志?

时间:2010-10-02 05:16:45

标签: iphone objective-c crash crash-reports

有谁知道如何从客户那里获取崩溃日志?而不是手动要求他们同步并转到此目录和此目录并发送它。

是否有自动方式将崩溃报告发送到我们的服务器?

4 个答案:

答案 0 :(得分:18)

您可以使用PLCrashReporter执行自己的崩溃记录。通常,您将崩溃日志写入文件,然后在下次应用程序启动时将其发送到服务器。

为了防止无限崩溃报告循环(早期版本中有一个),您希望按特定顺序执行操作:

  1. 将文件读入内存并将其删除。 (希望这不会崩溃。)
  2. 解析崩溃报告并将其发送到服务器。 (如果它现在崩溃,该文件已被删除,因此不应该再次发生。)
  3. 最后,启用崩溃报告(因此,如果它在步骤1或2中崩溃,则未记录 )。
  4. 无论如何,你应该有一个“哎呀,它崩溃了!你想发送崩溃报告吗?”对话。我认为默认的EULA允许自动崩溃日志记录,但对用户友好并不会有害。

    如果你担心如果用户说“不”会永远丢失报告,而不是删除报告,你可以进行logrotate风格的重命名(即将report8重命名为report9,将report7重命名为report8,...,将报告重命名为report0)。然后有一个“发送最后N个崩溃报告”按钮(设置N = 10或计算报告的数量),所以即使他们不小心禁用它(或他们当时没有互联网),他们仍然可以发送报告。

答案 1 :(得分:13)

iOS 5及更高版本 点击设置>一般>关于>诊断&用法允许您在自动发送和不发送之间进行选择。

iOS 4及更早版本 默认情况下,选择是一次性决定。如果您想更改决定,可以重置iOS 4或更早版本设备的警告,以便再次询问。

如何在iTunes中重置警告 将iPad,iPhone或iPod touch连接到PC或Mac。 请等到设备出现在“设备”下的iTunes窗口左侧。 右键单击(Mac或PC)或按住Control键单击(Mac)设备的图标。 从快捷菜单中,选择“重置警告:

下次重置警告后同步时,您应该看到:

要不同意并停止发送Apple诊断和使用信息,请单击“不,谢谢”。

如果您没有看到上面的窗口 断开设备与计算机的连接。 在您的设备上打开应用程序。 按住“睡眠/唤醒”按钮直到出现红色滑块,然后按住“主页”按钮直到应用程序退出。如果您使用的是iOS 2.x或更早版本,请按住主屏幕按钮,直到退出应用程序。 连接您的设备并将其与iTunes同步。 同意或不同意诊断收集的选项应再次出现。

Chearz;)

参考:

http://support.apple.com/kb/HT4305

答案 2 :(得分:7)

在iTunes中,当他们的设备被束缚时,如果用户控制点击他们设备的名称,他们将能够选择“重置警告”。之后,当用户下一步同步他们的设备询问是否可以向Apple发送数据时,会弹出一个对话框。如果他们单击“确定”,则iTunes会将所有崩溃日志从其设备上传到Apple的服务器。

之后,您应该能够在iTunes Connect中找到崩溃日志,并自行下载。如果您的应用仍然存在问题并且用户再次同步,则会自动显示新的崩溃日志。

答案 3 :(得分:6)

如果您正在谈论正常的AppStore销售,可以通过iTunes Connect获得崩溃报告。

转到“管理您的应用” - > “您的申请” - >然后单击“查看详细信息”,其中包含AppStore中当前处于活动状态的版本。

然后,您将获得应用程序的详细信息,包括客户发送的崩溃报告。