2010-10-02 62 views

回答

18

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

为了防止无限崩溃报告回路(有一个在早期版本),你想要做的事情在一个特定的顺序:

  1. 读取文件到内存并将其删除。 (希望这不会崩溃。)
  2. 解析崩溃报告并将其发送到服务器。 (如果它现在崩溃,文件已被删除,所以它不应该再次发生。)
  3. 最后,启用崩溃报告(所以如果它在步骤1或2崩溃,崩溃不是记录)。

无论如何,你应该有一个“哎呀,它崩溃了!你想发送崩溃报告吗?”对话。我认为默认的EULA允许自动崩溃日志记录,但对用户来说不会有什么坏处。

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

7

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

只需转到“管理您的应用程序” - >“您的应用程序” - >然后单击“查看详细信息”,使用当前在AppStore中激活的版本。

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

7

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

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

12

的iOS 5及更高版本 点击设置>常规>关于>诊断&使用将允许您选择自动发送和不发送。

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

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

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

不同意,停止送苹果诊断和使用信息,请单击不,谢谢。

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

Chearz)

参考:

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

+2

这将信息发送到苹果,而不是显影剂。 – henrikhodne 2012-09-03 17:50:45

+1

@henrikhodne如果你曾经访问过苹果开发者门户。有崩溃日志。在你指出之前总是先确认一下。 – Saad 2013-03-08 10:22:00

+5

@The Saad ADC中的崩溃日志列表充其量是buggy。在几个不同的应用程序之间,我从来没有看到过崩溃日志,即使是启用此设置的手机也是如此。所以虽然这可能适用于某些应用程序,但这对我来说从未奏效。 – henrikhodne 2013-05-16 17:03:33