31

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

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

4

4 回答 4

18

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

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

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

无论如何,您应该有一个“糟糕,它崩溃了!您要发送崩溃报告吗?” 对话。我认为默认 EULA 允许自动崩溃日志记录,但对您的用户友好并没有什么坏处。

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

于 2010-10-02T13:20:13.260 回答
13

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

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

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

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

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

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

查尔兹;)

参考:

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

于 2012-04-26T12:22:44.280 回答
7

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

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

于 2010-10-02T06:39:41.737 回答
6

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

只需转到“管理您的应用程序”->“您的应用程序”-> 并单击“查看详细信息”以及 AppStore 中当前处于活动状态的版本。

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

于 2010-10-02T05:35:41.070 回答