Crashlytics:"我们缺少一个dSYM来处理崩溃"

60

Crashlytics提示"我们缺少一个dSYM来处理崩溃",而当我尝试从Xcode(7.1)下载dSYMs时,我得到了"没有可供下载的dsyms"的提示。


我也遇到了同样的问题,似乎有几个人也是这样:https://dev59.com/qlsW5IYBdhLWcg3wSVmM - Jordan Smith
你的问题是什么? - EJoshuaS - Stand with Ukraine
5个回答

93
我今天遇到了同样的问题。似乎iTunes Connect正在重新编译带有位码的应用程序,这会更改UUID,并且.xcarchive内部的dSYM实际上无法用于符号化应用程序(这似乎是一个新的发展)。
您可以从iTunes Connect下载正确的dSYM。登录后,转到“我的应用程序”,选择您的应用程序,然后点击顶部的“活动”选项卡。点击相关构建,假设应用程序首先提交了符号,您应该会看到“下载dSYM”的选项。
您得到的文件名为dSYMs(没有扩展名),但它实际上是一个zip文件。添加.zip扩展名,解压缩,您将在其中找到您的dSYM。
您可以直接将此.zip文件上传到Crashlytics,然后就可以了。
解决方案发布在此处:https://twittercommunity.com/t/not-matching-uuid-bitcode/61000

9
从iTunes Connect下载的dSYM文件仍然不包含Fabric Dashboard中报告的缺失文件(至少在我的情况下是这样)。 - Kyle H
2
嘿@LaneRettig!我最终禁用了我的项目的位码,归档了一个新版本,然后dSYMs自动上传了。所以我想我只能禁用位码,直到有另一个解决方法。 - Kyle H
1
我在iTunes Connect中没有创建应用程序。我只是将应用程序归档以进行空中安装。那么我还能在.xcarchive中使用dSYM文件吗? - Isuru
1
请确保您正在使用 Safari。当使用 Chrome 从 iTunes Connect 下载缺失的 dSYMs 并将它们上传到 Fabric 时,我总是会遇到上传错误。切换到 Safari 就解决了这个问题。 - Derek Soike
1
我需要每隔一段时间做这个吗,还是只需要做一次? - SoliQuiD
显示剩余9条评论

28

还有另一种方法可以获取您的dSYM。

  1. 从组织器中,右键单击归档文件并选择“在查找器中显示”
  2. 右键单击查找器中显示的.xcarchive文件,然后选择“显示包内容”
  3. 将找到的“dSYMs”文件夹复制到其他地方。
  4. 压缩“dSYMs”文件夹并将其上传到Crashlytics。

16
对我来说这个方法行不通。xcarchive 中的 dSYM 文件中的 UUID 与 Crashlytics 中的 UUID 不匹配。详情请参见我的答案。 - Lane Rettig
1
仍然在 Firebase 控制台中显示缺少 dSYMs。 - Arshad Shaik

17
如果你像我一样在.archive文件包或iTunes Connect中找不到dSYM文件,请检查Build Settings -> Debug Information Format -> Release -> DWARF with dSYM File是否设置正确。

那个有效了,谢谢。 - ACAkgul

8

Shawn的答案帮助我永久性地解决了这个问题,而且无需手动上传dSYM文件。只需进入构建设置(Build Settings),然后打开以下参数:

  • 调试(Debug): 带有dSYM文件的DWARF格式
  • 发布(Release): 带有dSYM文件的DWARF格式
  • 启用位码(Bitcode):

如果您还没有通过iTunes Connect进行测试,只是想在“开发”模式下使用Crashlytics测试应用程序,这似乎很有效。


这对我有帮助,但在我的情况下启用了Bitecode - Ruslan Leshchenko
这对我很有帮助,我的情况下也启用了Bitecode。谢谢! - Prasad Patil

6

请在您的构建设置中检查调试信息格式,确保Debug和Release都是“DWARF with dSYM File”。

功能


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接