【问题标题】:Dealing with missing dSYM files in a black box situation在黑盒情况下处理丢失的 dSYM 文件
【发布时间】:2019-06-10 07:52:00
【问题描述】:

我们正在尝试解决使用 Fabric / Crashlytics 的 iOS 应用程序中的严重崩溃问题。我们没有上次开发该应用程序并将最新版本上传到 App Store 的人员的详细联系信息。

在项目仪表板中,我注意到消息“在过去 24 小时内发现 1 个版本中缺少 dSYM 导致 XXX 非符号化崩溃”。截图:https://i.imgur.com/YT9gggJ.jpg

我做了我能想到的唯一明智的事情:我去了 App Store Connect 仪表板。我按照 Fabric 的官方说明下载了相关构建的 dSYM zip:https://docs.fabric.io/apple/_images/download-dsym.png

然后我去了 dSYM 工具并直接上传了 zip。原来所需的四个文件中只有两个在 zip 中(我自己也检查过):https://i.imgur.com/JqxZcaD.jpg

所以...我在这里处于黑箱状态...

  • 我不是 iOS 开发人员
  • 我无权访问用于构建项目的计算机或生成构建的人
  • 我正在协助一位刚刚加入团队的 iOS 开发人员
  • 我可以访问项目存储库
  • 我可以访问 App Store Connect 个人资料
  • 我在 Fabric 中具有管理员访问权限

我的问题是:

  1. 为什么其他两个 dSYM 文件不在我从 App Store 下载的 zip 中?
  2. 为什么一些崩溃与一个 dSYM 相关,而其余的与另一个相关?我们目前可以访问的崩溃是否有任何类型的分类?
  3. 我们能否在不向 App Store 发布新应用版本的情况下获取所有生产崩溃报告的访问权限?我们正在努力避免这种情况 ATM。

编辑#1

所以这个发布构建的人并没有完全遵循最佳实践。我想探索他们将 dSYM 文件提交到服务器存储库的可能性。

这是他们的 gitignore:

.DS_Store 
xcuserdata 
<PROJECT NAME>.xcodeproj/project.xcworkspace/xcshareddata/ 
build/ 
Build/

我猜构建文件夹几乎排除了这种可能性。我还在文件结构中搜索了包含文本“com_apple_xcode_dsym_uuids ==”的文件,但没有成功......

编辑 #2:

我附上了 Fabric 支持给我的答案的摘录:

如果您的应用程序使用框架,产品文件夹将包含 为每个构建的框架生成一个单独的 dSYM 文件。最终 如果我们想覆盖我们的基地并能够 象征着我们应用程序中每个可能位置的崩溃。 dSYM 文件 在构建特定版本的应用程序时生成的 仅用于表示该特定版本的崩溃。

dSYM 文件由唯一 ID (UUID) 标识,该 ID 每次更改 当我们修改和重建我们的代码时,那个 ID 就是用来 将符号文件匹配到特定的崩溃。 dSYM 可能与 多个 UUID,因为它可能包含超过 一种架构。

【问题讨论】:

    标签: ios app-store crashlytics google-fabric dsym


    【解决方案1】:

    在我看来,您可能需要上传一个新版本,如果它包含任何错误修复,这毕竟还不错。关于您的问题:

    为什么其他两个 dSYM 文件不在我从 App Store 下载的 zip 中?

    仅当应用使用 Bitcode 分发时,从 App Store connect 下载 dSYM 的选项才可用。 Bitcode 是 App Store 用于生成针对特定架构/设备的最终优化机器代码的源的中间表示。选择位码时,还应使用位码传递所有链接的框架/ lib,因此只有一些dsyms看起来很奇怪。虽然不太可能,但丢失的 dSYM 是否可能来自另一个版本?

    为什么有些崩溃与一个 dSYM 相关,而其余的与另一个相关?我们目前可以访问的崩溃是否有任何分类?

    每个目标/框架/lib 都会生成自己的 dSYM,因此您的应用可能依赖于一个或多个框架,并且一些崩溃源于该框架。

    我们能否在不向 App Store 发布新应用版本的情况下获取所有生产崩溃报告的访问权限?

    到目前为止,我想不出另一种解决方案。

    【讨论】:

    • 谢谢伊万。至于最后一个问题:我同意这可能没有任何解决方案。
    猜你喜欢
    • 2020-02-21
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    相关资源
    最近更新 更多