zoukankan      html  css  js  c++  java
  • 检查 Xcode 是否生成了 dSYM

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/14899643.html
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    热烈欢迎,请直接点击!!!

    进入博主App Store主页,下载使用各个作品!!!

    注:博主将坚持每月上线一个新app!!!

    默认情况下,Firebase Crashlytics 会自动处理您的调试符号 (dSYM) 文件,以便为您提供经过去混淆处理且易于用户理解的崩溃报告。此行为是在您将初始化 Crashlytics 的运行脚本添加到应用的构建阶段时设置的。

    遗憾的是,有几种情况可能会导致您的 dSYM 上传失败,例如应用中包含位码或独特的项目配置。本指南提供了一些方法,如果 Crashlytics 无法找到应用的 dSYM,您可以借鉴这些方法来排查问题。

    检查 Xcode 是否生成了 dSYM

    在很多情况下,dSYM 文件缺失是因为 Xcode 根本没有生成它们。在上传失败时,Crashlytics 会在 Firebase 控制台中显示“dSYM 缺失”提醒。如果您收到该提醒,请先检查 Xcode 是否确实为每个 build 生成了正确的 dSYM: 

    1. 在 Xcode 中打开您的项目,然后在 Xcode Navigator 中选择项目文件。

    2. 选择您的主要构建目标。

    3. 打开目标的 Build Settings 标签页,然后点击 All。

    4. 搜索“debug information format”。

    5. 对于所有构建类型,请将 Debug Information Format 设置为 DWARF with dSYM File。

    6. 重新构建您的应用。 

    您的崩溃报告现在应该会显示在 Firebase 控制台中。如果问题仍然存在或者您遇到其他错误,请尝试查找您的 dSYM 并将其手动上传到 Crashlytics。

    查找您的 dSYM

    有时,由于位码配置或控制台连接问题,Crashlytics 无法找到应用的 dSYM。遇到这种情况时,您还可以通过另外两种方法排查问题:

    从 App Store 下载位码 dSYM

    对于已发布到 App Store 或提交到 TestFlight 且启用了位码的 build,Apple 会生成新的 dSYM。 如果您的应用符合上述任何情况,请从 App Store 下载新的 dSYM:

    1. 登录 App Store Connect,然后依次点击 My Apps > Activity
    2. 选择要下载的 dSYM 对应的 build。
    3. 依次点击 Build Details > Download dSYM

    在本地机器上查找 dSYM

    运行以下命令,在您的机器上显示所有 dSYM 的 UUID,然后搜索缺少的 dSYM:

    mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done

    找到 dSYM 后,将其上传到 Crashlytics。如果 mdfind 命令未返回任何结果,您可以在 .app 所在的 Products 目录中查找(Products 目录默认位于 Derived Data 中)。如果您的应用已正式发布,您还可以在磁盘上的 .xcarchive 目录中查找其 dSYM:

    1. 在 Xcode 中,打开 Organizer 窗口,然后从列表中选择您的应用。Xcode 会显示您项目的归档列表。
    2. 按住 Control 键的同时点击归档,即可在 Finder 中查看它。然后,再次在按住 Control 键的同时点击它,再点击 Show Package Contents。 

    在 .xcarchive 中有一个 dSYM 目录,该目录包含在 Xcode 的归档过程中生成的 dSYM。当您使用“Organizer”窗口中的 Download dSYMs... 工具时,重新编译的位码 dSYM 也会下载到此文件夹中。

    上传您的 dSYM

    注意 :我们正在将 upload-symbols 与其他 Firebase CLI 工具集成。

    作为一种备选方案,Crashlytics 包含一个 upload-symbols 脚本,您可以在构建过程中随时调用该脚本,以手动上传您的 dSYM。该脚本会提供有关上传流程的更多信息,并且具有更为稳健的错误消息功能(如需查看使用情况记录和其他说明,请在不带任何参数的情况下运行 upload-symbols)。

    要运行 upload-symbols 脚本,请使用以下选项之一:

    • 在构建流程中加入以下行: 

      find dSYM_directory -name "*.dSYM" | xargs -I {} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform {}
    • 直接从终端运行该脚本:

      /path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs
  • 相关阅读:
    esDSLindex管理操作相关
    esDSL系统和集群运维相关
    git无法访问或者git访问超慢解决方案
    Java 多线程的一次整理
    记一次 Java 导出大批量 Excel 优化
    16个经典面试问题回答思路
    B树索引
    在Java中,为什么"100==100"为true,而"1000==1000"为false?
    explain详解
    字符串常量池和基本数据类型的包装类常量池
  • 原文地址:https://www.cnblogs.com/strengthen/p/14899643.html
Copyright © 2011-2022 走看看