简体   繁体   English

无法在 Crashlytics/fabric 中获得崩溃报告。 显示错误:“看起来我们缺少 dSYM 来处理以下版本的崩溃。”

[英]Could not get crash report in Crashlytics / fabric. Showing error : "It looks like we are missing dSYMs to process crashes for the versions below."

织物仪表板的屏幕截图

Crash reports are not generated in fabric/ crashlytics for my iOS application.我的 iOS 应用程序的结构/crashlytics 中不会生成崩溃报告。 An error (as given in screenshot) is being displayed on fabric dashboard.结构仪表板上显示错误(如屏幕截图所示)。

As instructed by fabric I tried to search the given UUIDs in spotlight from the machine where the fabric mac app is installed.(where I create build of app.) but could not get any results.按照fabric 的指示,我尝试从安装了fabric mac 应用程序的机器上搜索给定的UUID。 Also tried to search using terminal with command : mdfind "com_apple_xcode_dsym_uuids == <UUID>” (as given in : http://support.crashlytics.com/knowledgebase/articles/376834-missing-dsyms ) but could not get any results there also.还尝试使用带有命令的终端进行搜索: mdfind "com_apple_xcode_dsym_uuids == <UUID>” (如在: http : //support.crashlytics.com/knowledgebase/articles/376834-missing-dsyms 中给出)但无法在那里获得任何结果还。

Anybody had this issue before ?以前有人遇到过这个问题吗? Any workarounds to resolve this ?任何解决方法来解决这个问题?

I have after I complete the Fabric setup successfully into my app, the same issue,I tried every solution but the one that worked for me was: 我已经成功完成Fabric设置到我的应用程序,同样的问题,我尝试了每个解决方案,但对我有用的是:

  1. Go to Project settings of the project and target and set Debug Information Format to DWARF with dSYM File 转到项目和目标的项目设置,并使用dSYM文件调试信息格式设置为DWARF

Set the current config 设置当前配置 在此输入图像描述

You can get crash reports by generating dSYMs file for particular version of build and upload it on crashlytics. 您可以通过为特定版本的构建生成dSYMs文件来获取崩溃报告,并将其上载到crashlytics上。

Follow below steps to generate dSYMs file. 按照以下步骤生成dSYMs文件。

  1. Go to Window Menu -> Organizer in Xcode. 转到窗口菜单 - > Xcode中的管理器

  2. Select the right version of build and click on the button "Download Debug Symbols" on the right panel 选择正确版本的构建 ,然后单击右侧面板上的“下载调试符号”按钮

  3. Right Click on right version of build and select show in Finder. 右键单击右侧版本的构建,然后选择在Finder中显示。

  4. Select .xcarchieve file then right click on that and click on Show Package contents 选择.xcarchieve文件,然后右键单击该文件并单击Show Package contents

  5. Then Go to **dSYMs folder** and select .dSYM file and compress that file . 然后转到** dSYMs文件夹**并选择.dSYM文件并压缩该文件

  6. Now Final Step is to upload compressed file on fabric . 现在,最后一步是在结构上上传压缩文件

And then you can get crash report of build. 然后你就可以得到构建的崩溃报告。

I got the answer finally : 我终于得到了答案:

I went into iTunes Connect > My Apps > Activity > Clicked on build missing dSYM > Download dSYM.Once downloaded add .zip extension at end (not sure why .zip is not showing by apple) and was able to unzip it. 我进入iTunes Connect>我的应用程序>活动>点击构建缺少dSYM>下载dSYM.Once下载添加.zip扩展名结尾(不知道为什么.zip没有显示苹果)并且能够解压缩它。 In this folder I was able to find the missing dSYM requested by fabric, then upload it to fabric. 在这个文件夹中,我能够找到Fabric请求的缺少的dSYM,然后将其上传到fabric。

it will take a few minutes to process a dSYM. 处理dSYM需要几分钟时间。 In my case it took 24 hours to re-symbolicate crash report. 在我的情况下,重新表示崩溃报告需要24小时。

For me the problem was solved when I unchecked Include bitcode when upload to AppStore or Export file. 对我来说,当我上传到AppStore或导出文件时取消选中Include bitcode时,问题就解决了。

Hopefully this will be resolved in the next Crashlytics update. 希望这将在下一个Crashlytics更新中得到解决。

Considering the answers: 考虑到答案:

  1. Go to Window Menu -> Organizer in Xcode. 转到窗口菜单 - > Xcode中的管理器

Now in the Organizer, select the version and then click on the "download dSYMs..." button on the right hand side. 现在在管理器中,选择版本,然后单击右侧的“下载dSYMs ...”按钮。

  1. Right Click on right version of build and select show in Finder. 右键单击右侧版本的构建,然后选择在Finder中显示。

  2. Select .xcarchieve file then right click on that and click on Show Package contents 选择.xcarchieve文件,然后右键单击该文件并单击Show Package contents

  3. Then Go to **dSYMs folder** and select .dSYM file and compress that file . 然后转到** dSYMs文件夹**并选择.dSYM文件并压缩该文件

Remember to compress suitable .dSYM file, for instance: 请记住压缩合适的.dSYM文件,例如:

在此输入图像描述

在此输入图像描述

  1. Now Final Step is to upload compressed file on fabric . 现在,最后一步是在结构上上传压缩文件

While uploading the result is following: 上传结果时如下:

在此输入图像描述

If you do not have a build on your computer you can download dSYMS directly from itunesconnect: 如果您的计算机上没有内置版,则可以直接从itunesconnect下载dSYMS:

在此输入图像描述

do not archives dSYMs folder open the folder then archives your appname.app.dSYMs then sumbit it 不归档dSYMs文件夹打开文件夹然后归档你的appname.app.dSYMs然后汇总它

and use Debug Information Format DWARF with dSYM File in debug if you what crash report in debug 如果在调试中出现崩溃报告,请在调试中使用调试信息格式DWARF和dSYM文件

If you are not generated the dSYMs file then go : 如果未生成dSYMs文件,则转到:

Organizer in Xcode. Xcode中的管理器。 Chose right version which is uploaded on the iTunes, right click on that versions shows option Package contents. 选择上传到iTunes的正确版本,右键单击该版本显示选项包内容。 Go to dSYMs folder and select .dSYM file upload it on the Fabric then you get the crash reports. 转到dSYMs文件夹并选择.dSYM文件将其上传到Fabric上,然后您将获得崩溃报告。 More details on this link >>>>> https://docs.fabric.io/apple/crashlytics/missing-dsyms.html#upload-dsym 有关此链接的更多详细信息>>>>> https://docs.fabric.io/apple/crashlytics/missing-dsyms.html#upload-dsym

在此输入图像描述

Another very important steps; 另一个非常重要的步骤 click "Download Debug Symbols". 单击“下载调试符号”。 I found the missing UUID after doing this step. 执行此步骤后,我找到了丢失的UUID。

The official guide to solve "Missing dSYM" issue has been published by firebase : https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?authuser=0 firebase 已发布解决“缺少 dSYM”问题的官方指南: https ://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?authuser =0

Copying the content of link below for quick reference.复制以下链接的内容以供快速参考。

Firebase Crashlytics automatically processes your debug symbol (.dSYM) files to give you deobfuscated, human-readable crash reports. Firebase Crashlytics 会自动处理您的调试符号 (.dSYM) 文件,为您提供经过反混淆处理的、人类可读的崩溃报告。

Unfortunately, there are a few situations when dSYM uploads fail, usually because of unique project configurations or Bitcode in your app.不幸的是,有几种情况会导致 dSYM 上传失败,通常是因为应用程序中的独特项目配置或 Bitcode。 When an upload fails, Crashlytics displays a "Missing dSYM" alert in the Firebase console to let you know that it can't display crash reports properly.当上传失败时,Crashlytics 会在 Firebase 控制台中显示“缺少 dSYM”警报,让您知道它无法正确显示崩溃报告。

If you get that alert, there are two things you can try to resolve the issue: check that Xcode is producing the correct dSYM files and, if it is, run the dSYM upload script manually.如果您收到该警报,您可以尝试通过两件事来解决该问题:检查 Xcode 是否正在生成正确的 dSYM 文件,如果是,请手动运行 dSYM 上传脚本。

Check if Xcode is producing debug symbol files检查 Xcode 是否正在生成调试符号文件

More often than not, symbol files go missing because Xcode simply isn't producing them.通常情况下,符号文件会丢失,因为 Xcode 根本没有生成它们。 Here's how to check if your project is generating dSYMs with every build:以下是检查您的项目是否在每次构建时生成 dSYM 的方法:

Open your project in Xcode, and select the project file in the Xcode Navigator.在 Xcode 中打开您的项目,然后在 Xcode Navigator 中选择项目文件。 Select your main build target from the Select a project or target dropdown.从 Select a project or target 下拉列表中选择您的主要构建目标。 Open the target's Build Settings tab.打开目标的构建设置选项卡。 Click All near the top of the tab.单击选项卡顶部附近的全部。 Search for "debug information format".搜索“调试信息格式”。 Set Debug Information Format to DWARF with dSYM File.使用 dSYM 文件将调试信息格式设置为 DWARF。 Once you've done that, build your app again and check the Firebase console to see if Crashlytics can find your dSYMs.完成此操作后,再次构建您的应用并检查 Firebase 控制台以查看 Crashlytics 是否可以找到您的 dSYM。

Run the upload symbols script manually手动运行上传符号脚本

As a back-up, Crashlytics also includes upload-symbols, a script that you can call anywhere in your build process to upload your dSYMs manually.作为备份,Crashlytics 还包括上传符号,您可以在构建过程中的任何位置调用该脚本以手动上传 dSYM。 The script provides more information about the upload process and more robust error messaging.该脚本提供了有关上传过程的更多信息和更可靠的错误消息。

Important: If you're working with an app that you previously linked from Fabric to Firebase Crashlytics, pass in your Fabric API Key to run the upload symbols script.重要提示:如果您正在使用之前从 Fabric 链接到 Firebase Crashlytics 的应用,请传入您的 Fabric API 密钥以运行上传符号脚本。 That is, in the following options to run the script, use -a fabric-api-key instead of -gsp path/to/GoogleService-Info.plist.也就是说,在以下运行脚本的选项中,使用 -a fabric-api-key 而不是 -gsp path/to/GoogleService-Info.plist。 To run the upload-symbols script, use one of the following options:要运行上传符号脚本,请使用以下选项之一:

Include the following line in your build process:在构建过程中包含以下行:

find dSYM_directory -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform \{\}

Run the script directly from your terminal:直接从终端运行脚本:

/path/to/pods/directory/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

Run the script from an Xcode run script build phase:从 Xcode 运行脚本构建阶段运行脚本:

"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

Note: If you're having trouble, run upload-symbols without any parameters to get usage notes and additional instructions.注意:如果遇到问题,请运行不带任何参数的 upload-symbols 以获取使用说明和其他说明。

I was having the same issue with fabric crashlytics. 我遇到了与fabric crashlytics相同的问题。 Then I created ipa with distribution profile and installed it via itunes to my device.I started receiving crash reports after it.Hope it helps :) 然后我用分发配置文件创建了ipa并通过itunes将它安装到我的设备上。我开始接收崩溃报告。希望它有帮助:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM