为啥 Testflight 的崩溃日志在 Xcode 中没有符号化?

Posted

技术标签:

【中文标题】为啥 Testflight 的崩溃日志在 Xcode 中没有符号化?【英文标题】:Why aren't the crashlogs from Testflight symbolicating in Xcode?为什么 Testflight 的崩溃日志在 Xcode 中没有符号化? 【发布时间】:2017-07-07 15:33:28 【问题描述】:

我刚开始从 Testflights 获取我正在开发的预发布应用程序的崩溃报告,但无论出于何种原因,Xcode 都没有正确地符号化日志。

构建可用(在此版本的 Xcode 中在此计算机上构建、存档和上传),那么我在这里缺少什么?为什么这些崩溃日志没有符号化?

【问题讨论】:

你试过从 iTunes Connect 页面下载 dSyms 吗? 我已选择从 Xcode 的构建页面下载 dSyms。 【参考方案1】:

显然,这是一个在 Apple 开始接受位码时开始发生的错误。当您在 Xcode 管理器中单击“下载 dSYM...”时,并非所有 dSYM 都会被下载。这是我修复它的方法:

    从 iTunes Connect 的构建页面手动下载 dSYM 在 Xcode 中右键单击崩溃日志并在 Finder 中打开它 您将找到的 xcrashpoint 文件是一个存档文件,因此请右键单击并显示包内容 深入了解您的 .crash 文件 将 .crash 文件复制到其他目录,例如桌面 将下载的dSYMs文件夹复制到同一目录 打开终端,cd 到文件夹 在终端中,设置开发者目录路径:

export DEVELOPER_DIR='/Applications/Xcode.app/Contents/Developer'

    然后用符号表示文件(在此处替换您的路径和文件名):

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash name_of_crashfile.crash name_of_downloaded_dSYMs_dir/ > output.log

瞧!你有你的象征性崩溃日志。

【讨论】:

一年后,我仍然对 Xcode 9 和 Bitcode 有同样的问题。谢谢@Christian 只是补充一下,您也可以在步骤 5 中将symbolicatecrash 可执行文件复制到您的文件夹中,这样您的命令行更容易记住:-)【参考方案2】:

我仍然在 Xcode 10 中得到这个。作为一种解决方法。将崩溃日志添加到您的设备日志中,它们将被符号化。至少根据我的经验。

步骤 1- 在 Xcode Window>Devices & Simulators [在左侧选择您的设备]>查看设备日志。

步骤 2- 然后 Xcode> 窗口> 管理器 > 崩溃选项卡。 右键单击崩溃并单击在查找器中显示。这显示了 .xccrashpoint 文件。右键单击>显示包内容。深入文件夹,直到看到 .crash 文件。然后将它们拖到我们在步骤 1 中打开的设备日志列表中

【讨论】:

以上是关于为啥 Testflight 的崩溃日志在 Xcode 中没有符号化?的主要内容,如果未能解决你的问题,请参考以下文章

TestFlight 的所有新版本在发布时突然开始崩溃,并且在 Crashlytics 上没有崩溃日志

Crashlytics 使 TestFlight 应用程序崩溃,但未找到任何崩溃日志

如何在预发布测试中从 TestFlight 应用程序中检索崩溃日志

TestFlight 崩溃报告

Testflight 崩溃报告不显示

如何调试崩溃的发布版本? [复制]