19

有什么方法可以在 iTunes Connect 中获取崩溃信息?我注意到在 App Analytics 下它显示了“仅选择加入崩溃”的数量。我按下它下面的数字(在我的情况下为 2)。这会将我带到一个似乎只显示崩溃发生日期的页面。有什么方法可以让我看到有用的崩溃信息,例如代码行等?

4

3 回答 3

56

要查看问题出在哪里,只需打开您的Xcode > Window > Organizer > Crashes from your Application

于 2018-08-29T20:39:13.917 回答
19

您已经在 App Store 上部署了您的应用程序(或作为 Ad Hoc 或 Enterprise 构建),那么您将无法将 Xcode 的调试器附加到已部署的应用程序进行调试。要调试问题,您需要分析设备的崩溃日志和控制台输出。要阅读带有回溯的崩溃报告,需要先对其进行符号化,然后才能对其进行分析。符号化是一个用人类可读的函数名称和行号替换内存地址的过程。

要了解和分析应用程序崩溃报告,您可以参考符号化崩溃报告调试已部署的 iOS 应用程序分析崩溃报告

崩溃报告和符号化过程概述。 在此处输入图像描述

  1. 在构建设置中设置调试信息格式 (DEBUG_INFORMATION_FORMAT),这些调试符号存储在二进制文件或伴随的调试符号 (dSYM) 文件中。
  2. 当您归档应用程序以进行分发时,Xcode 将收集应用程序二进制文件以及 .dSYM 文件并将它们存储在您的主文件夹内的某个位置。
  3. 在 App Store 上部署或使用 Test Flight 进行 beta 测试时,在将存档上传到 iTunes Connect 时包含 dSYM 文件。
  4. 当您的应用程序崩溃时,会创建一个未符号化的崩溃报告并将其存储在设备上。
  5. 您可以按照调试已部署的 iOS 应用程序中的步骤直接从他们的设备检索崩溃报告。如果您通过 AdHoc 或 Enterprise 分发来分发您的应用程序,这是从您的用户那里获取崩溃报告的唯一方法。
  6. 从设备检索到的崩溃报告是非符号化的,需要使用 Xcode 进行符号化。Xcode 使用与您的应用程序二进制文件关联的 dSYM 文件将回溯中的每个地址替换为其源代码中的原始位置。结果是一个符号化的崩溃报告。
  7. 如果用户选择与 Apple 共享诊断数据,或者如果用户通过 TestFlight 安装了您的应用程序的测试版,则崩溃报告将上传到 App Store。
  8. App Store 对崩溃报告进行符号化,并将其与类似的崩溃报告分组。这种类似崩溃报告的聚合称为崩溃点。
  9. Xcode 的崩溃管理器中提供了符号化的崩溃报告。
于 2017-01-15T05:47:10.007 回答
8

是的,您可以在 Xcode 中查看这些崩溃。这可以在分析崩溃报告的苹果文档中找到

于 2017-01-15T05:38:04.167 回答