【问题标题】:Could not get crash report in Crashlytics / fabric. Showing error : "It looks like we are missing dSYMs to process crashes for the versions below."无法在 Crashlytics/fabric 中获取崩溃报告。显示错误:“看起来我们缺少 dSYM 来处理以下版本的崩溃。”
【发布时间】:2015-12-30 15:31:10
【问题描述】:

在我的 iOS 应用程序的 fabric/crashlytics 中没有生成崩溃报告。织物仪表板上显示错误(如屏幕截图所示)。

按照fabric 的指示,我尝试在安装fabric mac 应用程序的机器上搜索给定的UUID。(我在其中创建应用程序的构建。)但无法获得任何结果。 还尝试使用带有命令的终端搜索:mdfind "com_apple_xcode_dsym_uuids == <UUID>”(如在:http://support.crashlytics.com/knowledgebase/articles/376834-missing-dsyms 中给出)但也无法在那里获得任何结果。

以前有人遇到过这个问题吗?有什么办法可以解决这个问题?

【问题讨论】:

  • 那么您是否在 Build Phases 中运行脚本,该脚本会在构建期间将 dsyms 提交给 Crashlytics?
  • 是的。我在构建阶段运行一个 shell 脚本,该脚本在集成结构时被复制..
  • 这可能对某人有帮助 - All you need to know

标签: ios objective-c crash-reports crashlytics twitter-fabric


【解决方案1】:

在我的应用程序中成功完成 Fabric 设置后,同样的问题,我尝试了所有解决方案,但对我有用的是:

  1. 进入项目和目标的项目设置,将Debug Information Format设置为DWARF with dSYM File

设置当前配置

【讨论】:

  • 如果我通过 CocoaPods 添加 Crashlytics,我是否也必须在 pods.xcodeproj 设置中进行设置?
【解决方案2】:

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

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

  1. 在 Xcode 中转到 Window Menu -> Organizer

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

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

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

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

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

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

【讨论】:

  • 我有 3 个存档,其构建版本由 crashlytics 指定。我尝试上传所有 3 个压缩的 dSYM,在上传每个后,它显示一条消息“dSYM 已成功上传!”。但是错误仍然存​​在,即使在刷新页面之后.. :-(
  • 我也遇到了同样的问题。我已经通过注销并登录到 fabric.try it.May be help it.
  • 您从哪里注销和登录? mac 应用程序或网站?
  • 尝试注销 - 上传后也登录。还是行不通。错误仍然存​​在.. :-(
  • 在执行第 2 步之前,在 Organizer 中选择版本,然后单击右侧的“下载 dSYM...”按钮。
【解决方案3】:

我终于得到了答案:

我进入 iTunes Connect > 我的应用程序 > 活动 > 单击构建缺少的 dSYM > 下载 dSYM。下载后在末尾添加 .zip 扩展名(不确定为什么 .zip 没有被苹果显示)并且能够解压缩它。在这个文件夹中,我能够找到fabric 请求的丢失的dSYM,然后将其上传到fabric。

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

【讨论】:

  • 我们正在处理上传的 dSYM。请过几分钟再回来查看状态。
【解决方案4】:

考虑答案:

  1. 在 Xcode 中转到 Window Menu -> Organizer

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

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

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

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

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

  1. 现在最后一步是在结构上上传压缩文件

上传结果如下:

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

【讨论】:

    【解决方案5】:

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

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

    【讨论】:

    • 超级...我试图从连续 3 个日夜中找出错误的原因。你救了我的命。非常感谢。
    【解决方案6】:

    不要归档 dSYMs 文件夹打开文件夹然后归档您的 appname.app.dSYMs 然后将其汇总

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

    【讨论】:

      【解决方案7】:

      如果你没有生成 dSYMs 文件,那么去:

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

      【讨论】:

        【解决方案8】:

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

        【讨论】:

          【解决方案9】:

          解决“缺少 dSYM”问题的官方指南已由 firebase 发布: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?authuser=0

          复制以下链接内容以供快速参考。

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

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

          如果您收到该警报,您可以尝试两种方法来解决 问题:检查 Xcode 是否生成了正确的 dSYM 文件,如果是 也就是说,手动运行 dSYM 上传脚本。

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

          通常情况下,符号文件会丢失,因为 Xcode 只是 不生产它们。以下是如何检查您的项目是否是 在每次构建时生成 dSYM:

          在 Xcode 中打开您的项目,然后在 Xcode 中选择项目文件 航海家。从选择项目或 目标下拉菜单。打开目标的构建设置选项卡。点击附近的全部 选项卡的顶部。搜索“调试信息格式”。设置调试 使用 dSYM 文件将信息格式转换为 DWARF。一旦你这样做了, 再次构建您的应用程序并检查 Firebase 控制台以查看是否 Crashlytics 可以找到您的 dSYM。

          手动运行上传符号脚本

          作为备份,Crashlytics 还包括上传符号,这是一个您可以在任何地方调用的脚本 您的构建过程以手动上传您的 dSYM。该脚本提供 有关上传过程的更多信息和更强大的错误 消息传递。

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

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

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

          直接从终端运行脚本:

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

          从 Xcode 运行脚本构建阶段运行脚本:

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

          注意:如果您遇到问题,请运行 upload-symbols 而不使用任何 获取使用说明和附加说明的参数。

          【讨论】:

            【解决方案10】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-12-31
              • 2017-08-21
              • 2016-03-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-07-05
              • 1970-01-01
              相关资源
              最近更新 更多