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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/32906875/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 07:54:08  来源:igfitidea点击:

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

iosobjective-ccrash-reportscrashlyticstwitter-fabric

提问by Vineeth

Screenshot of fabric dashboard

Screenshot of fabric dashboard

Crash reports are not generated in fabric/ crashlytics for my iOS application. An error (as given in screenshot) is being displayed on fabric dashboard.

我的 iOS 应用程序的结构/crashlytics 中不会生成崩溃报告。结构仪表板上显示错误(如屏幕截图所示)。

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. 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.

按照fabric 的指示,我尝试从安装了fabric mac 应用程序的机器的聚光灯下搜索给定的UUID。(我在其中创建应用程序版本。)但无法获得任何结果。还尝试使用带有命令的终端进行搜索:(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 ?

以前有人遇到过这个问题吗?任何解决方法来解决这个问题?

回答by Aaleks

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 Formatto DWARF with dSYM File
  1. 转到项目和目标的项目设置,并使用 dSYM 文件调试信息格式设置为DWARF

Set the current config enter image description here

设置当前配置 enter image description here

回答by Hardik Shekhat

You can get crash reports by generating dSYMs file for particular version of build and upload it on crashlytics.

您可以通过为特定版本的构建生成 dSYM 文件并将其上传到 crashlytics 来获取崩溃报告。

Follow below steps to generate dSYMs file.

按照以下步骤生成 dSYMs 文件。

  1. Go to Window Menu -> Organizerin Xcode.

  2. Select the right version of buildand click on the button "Download Debug Symbols"on the right panel

  3. Right Click on right version of buildand select show in Finder.

  4. Select .xcarchieve filethen right click on that and click on Show Package contents

  5. Then Go to **dSYMsfolder** and select .dSYM file and compress that file.

  6. Now Final Step is to upload compressed file on fabric.

  1. 在 Xcode 中转到窗口菜单 -> 管理器

  2. 选择正确版本的构建并单击右侧面板上的“下载调试符号”按钮

  3. 右键单击构建的正确版本并选择在 Finder 中显示。

  4. 选择.xcarchieve 文件,然后右键单击该文件并单击“显示包内容”

  5. 然后转到 **dSYMs文件夹**并选择.dSYM 文件并压缩该文件

  6. 现在最后一步是在 fabric 上上传压缩文件

And then you can get crash report of build.

然后你可以得到构建的崩溃报告。

回答by kaushal

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. In this folder I was able to find the missing dSYM requested by fabric, then upload it to fabric.

我进入 iTunes Connect > My Apps > Activity > Click on build missing dSYM > Download dSYM.Once download at end add .zip extension(不知道为什么 .zip 没有被苹果显示)并且能够解压缩它。在此文件夹中,我能够找到结构请求的缺失 dSYM,然后将其上传到结构。

it will take a few minutes to process a dSYM. In my case it took 24 hours to re-symbolicate crash report.

处理 dSYM 需要几分钟时间。就我而言,重新标记崩溃报告需要 24 小时。

回答by Bart?omiej Semańczyk

Considering the answers:

考虑答案:

  1. Go to Window Menu -> Organizerin Xcode.
  1. 在 Xcode 中转到窗口菜单 -> 管理器

Now in the Organizer, select the version and then click on the "download dSYMs..." button on the right hand side.

现在在管理器中,选择版本,然后单击右侧的“下载 dSYM...”按钮。

  1. Right Click on right version of buildand select show in Finder.

  2. Select .xcarchieve filethen right click on that and click on Show Package contents

  3. Then Go to **dSYMsfolder** and select .dSYM file and compress that file.

  1. 右键单击构建的正确版本并选择在 Finder 中显示。

  2. 选择.xcarchieve 文件,然后右键单击该文件并单击“显示包内容”

  3. 然后转到 **dSYMs文件夹**并选择.dSYM 文件并压缩该文件

Remember to compress suitable .dSYMfile, for instance:

记得压缩合适的.dSYM文件,例如:

enter image description here

enter image description here

enter image description here

enter image description here

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

While uploading the result is following:

上传结果如下:

enter image description here

enter image description here

If you do not have a build on your computer you can download dSYMS directly from itunesconnect:

如果您的计算机上没有构建版本,您可以直接从 itunesconnect 下载 dSYMS:

enter image description here

enter image description here

回答by AlexanderZ

For me the problem was solved when I unchecked Include bitcodewhen upload to AppStore or Export file.

对我来说,当我Include bitcode在上传到 AppStore 或导出文件时取消选中问题就解决了。

Hopefully this will be resolved in the next Crashlytics update.

希望这将在下一次 Crashlytics 更新中得到解决。

回答by balkaran singh

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

并在调试中使用带有 dSYM 文件的调试信息格式 DWARF,如果您在调试中出现崩溃报告

回答by Nandkishor Chaudhari

If you are not generated the dSYMs file then go :

如果您没有生成 dSYMs 文件,请执行以下操作:

Organizer in Xcode. Chose right version which is uploaded on the iTunes, right click on that versions shows option Package contents. Go to dSYMs folder and select .dSYM file upload it on the Fabric then you get the crash reports. More details on this link >>>>> https://docs.fabric.io/apple/crashlytics/missing-dsyms.html#upload-dsym

Xcode 中的组织者。选择在 iTunes 上上传的正确版本,右键单击该版本显示选项包内容。转到 dSYMs 文件夹并选择 .dSYM 文件,将其上传到 Fabric 上,然后您将获得崩溃报告。有关此链接的更多详细信息 >>>>> https://docs.fabric.io/apple/crashlytics/missing-dsyms.html#upload-dsym

回答by K.Liu

enter image description here

enter image description here

Another very important steps; click "Download Debug Symbols". I found the missing UUID after doing this step.

另一个非常重要的步骤;单击“下载调试符号”。执行此步骤后,我找到了丢失的 UUID。

回答by Vineeth

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.

Unfortunately, there are a few situations when dSYM uploads fail, usually because of unique project configurations or Bitcode in your app. 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.

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.

Check if Xcode is producing debug symbol files

More often than not, symbol files go missing because Xcode simply isn't producing them. Here's how to check if your project is generating dSYMs with every build:

Open your project in Xcode, and select the project file in the Xcode Navigator. Select your main build target from the Select a project or target dropdown. 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. Once you've done that, build your app again and check the Firebase console to see if Crashlytics can find your dSYMs.

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. 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. That is, in the following options to run the script, use -a fabric-api-key instead of -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:

Firebase Crashlytics 会自动处理您的调试符号 (.dSYM) 文件,为您提供经过反混淆处理的、人类可读的崩溃报告。

不幸的是,有几种情况会导致 dSYM 上传失败,通常是因为应用程序中的独特项目配置或 Bitcode。当上传失败时,Crashlytics 会在 Firebase 控制台中显示“缺少 dSYM”警报,让您知道它无法正确显示崩溃报告。

如果您收到该警报,您可以尝试通过两件事来解决该问题:检查 Xcode 是否正在生成正确的 dSYM 文件,如果是,请手动运行 dSYM 上传脚本。

检查 Xcode 是否正在生成调试符号文件

通常情况下,符号文件会丢失,因为 Xcode 根本没有生成它们。以下是检查您的项目是否在每次构建时生成 dSYM 的方法:

在 Xcode 中打开您的项目,然后在 Xcode Navigator 中选择项目文件。从 Select a project or target 下拉列表中选择您的主要构建目标。打开目标的构建设置选项卡。单击选项卡顶部附近的全部。搜索“调试信息格式”。使用 dSYM 文件将调试信息格式设置为 DWARF。完成此操作后,再次构建您的应用并检查 Firebase 控制台以查看 Crashlytics 是否可以找到您的 dSYM。

手动运行上传符号脚本

作为备份,Crashlytics 还包括上传符号,您可以在构建过程中的任何位置调用该脚本以手动上传 dSYM。该脚本提供了有关上传过程的更多信息和更可靠的错误消息。

重要提示:如果您使用的是之前从 Fabric 链接到 Firebase Crashlytics 的应用,请传入您的 Fabric API 密钥以运行上传符号脚本。也就是说,在以下运行脚本的选项中,使用 -a fabric-api-key 而不是 -gsp path/to/GoogleService-Info.plist。要运行上传符号脚本,请使用以下选项之一:

在构建过程中包含以下行:

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 以获取使用说明和其他说明。

回答by Sanman

I was having the same issue with 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 :)

我在使用 Fabric crashlytics 时遇到了同样的问题。然后我创建了带有分发配置文件的 ipa 并通过 iTunes 将它安装到我的设备上。我在它之后开始收到崩溃报告。希望它有帮助:)