如何在 iTunes Connect 中查看崩溃原因?
How do I view crash reason in iTunes Connect?
有什么方法可以在 iTunes Connect 中获取崩溃信息?我注意到在 App Analytics 下它显示了 "Opt-in Only Crashes" 的数量。我按它下面的数字(在我的例子中是 2)。这将我带到一个页面,该页面似乎只显示崩溃发生的日期。有什么方法可以让我看到有用的崩溃信息,例如代码行等?
是的,您可以在 Xcode 中查看这些崩溃。这可以在 Analyzing crash reports
的苹果文档中找到
您已经在 App Store 上部署了您的应用程序(或作为 Ad Hoc 或 Enterprise 构建),那么您将无法将 Xcode 的调试器附加到已部署的应用程序以进行调试。要调试问题,您需要分析设备的崩溃日志和控制台输出。要阅读带有回溯的崩溃报告,需要先对其进行符号化,然后才能对其进行分析。符号化是一个用 human-readable 函数名和行号替换内存地址的过程。
要了解和分析应用程序崩溃报告,您可以参考Symbolicating Crash Reports, Debugging Deployed iOS Apps or Analyzing Crash Reports。
崩溃报告和符号化过程概述。
- 在构建设置中设置调试信息格式 (DEBUG_INFORMATION_FORMAT),这些调试符号存储在二进制文件或伴随调试符号 (dSYM) 文件中。
- 当您存档应用程序以供分发时,Xcode 将收集应用程序二进制文件和 .dSYM 文件并将它们存储在您的主文件夹内的某个位置。
- 在 App Store 上部署或使用 Test Flight 进行 beta 测试时,在将存档上传到 iTunes Connect 时包含 dSYM 文件。
- 当您的应用程序崩溃时,会创建一个未符号化的崩溃报告并将其存储在设备上。
- 您可以按照 Debugging Deployed iOS Apps 中的步骤直接从他们的设备中检索崩溃报告。如果您已通过 AdHoc 或 Enterprise 分发分发您的应用程序,这是从您的用户那里获取崩溃报告的唯一方法。
- 从设备中检索到的崩溃报告是未符号化的,需要使用 Xcode 进行符号化。 Xcode 使用与您的应用程序二进制文件关联的 dSYM 文件将回溯中的每个地址替换为其在源代码中的原始位置。结果是一个符号化的崩溃报告。
- 如果用户选择与 Apple 共享诊断数据,或者如果用户通过 TestFlight 安装了您的应用程序的测试版,崩溃报告将上传到 App Store。
- App Store 将崩溃报告符号化,并将其与类似的崩溃报告分组。这种类似崩溃报告的集合称为崩溃点。
- 符号化的崩溃报告在 Xcode 的崩溃管理器中提供给您。
要查看问题出在哪里,只需打开您的 Xcode > Window > Organizer > 崩溃 来自您的 Application.
有什么方法可以在 iTunes Connect 中获取崩溃信息?我注意到在 App Analytics 下它显示了 "Opt-in Only Crashes" 的数量。我按它下面的数字(在我的例子中是 2)。这将我带到一个页面,该页面似乎只显示崩溃发生的日期。有什么方法可以让我看到有用的崩溃信息,例如代码行等?
是的,您可以在 Xcode 中查看这些崩溃。这可以在 Analyzing crash reports
的苹果文档中找到您已经在 App Store 上部署了您的应用程序(或作为 Ad Hoc 或 Enterprise 构建),那么您将无法将 Xcode 的调试器附加到已部署的应用程序以进行调试。要调试问题,您需要分析设备的崩溃日志和控制台输出。要阅读带有回溯的崩溃报告,需要先对其进行符号化,然后才能对其进行分析。符号化是一个用 human-readable 函数名和行号替换内存地址的过程。
要了解和分析应用程序崩溃报告,您可以参考Symbolicating Crash Reports, Debugging Deployed iOS Apps or Analyzing Crash Reports。
崩溃报告和符号化过程概述。
- 在构建设置中设置调试信息格式 (DEBUG_INFORMATION_FORMAT),这些调试符号存储在二进制文件或伴随调试符号 (dSYM) 文件中。
- 当您存档应用程序以供分发时,Xcode 将收集应用程序二进制文件和 .dSYM 文件并将它们存储在您的主文件夹内的某个位置。
- 在 App Store 上部署或使用 Test Flight 进行 beta 测试时,在将存档上传到 iTunes Connect 时包含 dSYM 文件。
- 当您的应用程序崩溃时,会创建一个未符号化的崩溃报告并将其存储在设备上。
- 您可以按照 Debugging Deployed iOS Apps 中的步骤直接从他们的设备中检索崩溃报告。如果您已通过 AdHoc 或 Enterprise 分发分发您的应用程序,这是从您的用户那里获取崩溃报告的唯一方法。
- 从设备中检索到的崩溃报告是未符号化的,需要使用 Xcode 进行符号化。 Xcode 使用与您的应用程序二进制文件关联的 dSYM 文件将回溯中的每个地址替换为其在源代码中的原始位置。结果是一个符号化的崩溃报告。
- 如果用户选择与 Apple 共享诊断数据,或者如果用户通过 TestFlight 安装了您的应用程序的测试版,崩溃报告将上传到 App Store。
- App Store 将崩溃报告符号化,并将其与类似的崩溃报告分组。这种类似崩溃报告的集合称为崩溃点。
- 符号化的崩溃报告在 Xcode 的崩溃管理器中提供给您。
要查看问题出在哪里,只需打开您的 Xcode > Window > Organizer > 崩溃 来自您的 Application.