上传 iOS 的 dSYM 文件

iOS 崩溃信息以未符号化的崩溃日志形式发送。 从这些崩溃日志中提取分析数据很困难。 要分析崩溃日志,请上传 dSYM 文件到 Boost。

该 AppMetrica SDK 内置了一个名为 helper 的命令行工具,用于上传 dSYM 文件。 要基于fastlane构建应用,请使用上传插件。 它帮助你在构建应用时设置自动上传 dSYM 文件。

应用构建时自动上传

使用 fastlane 构建你的应用:

  1. 安装 appmetrica fastlane 插件:

    fastlane add_plugin appmetrica
    

    要了解如何添加插件,请参见fastlane 文档。

  2. 将以下内容添加到 fastlane/Fastfile 文件中:

    lane :release do
    # Your actions before.
    gym(
    workspace: "MyApp.xcworkspace",
    configuration: "Release",
    scheme: "MyApp",
    export_method: "app-store"        # Pass the correct export_method.
    )
    upload_symbols_to_appmetrica(post_api_key: "Post API key")
    # Your actions after.
    end
    

    您可以在Boost 设置中获取 Post API 密钥。 它用于识别你的应用。

    应用程序使用 gym 操作并启用了导出进行构建。 如果你使用 Xcode 构建应用,上传到 App Store Connect 后应用会重新编译。 在这种情况下,你无法使用构建过程中生成的 dSYM 文件。

  3. 添加一个通过助手上传 dSYM 文件的阶段。 自版本 3.8.0 起,helper 工具已得到支持(适用于 AppMetrica SDK)。 它在 SDK 归档中。 辅助工具参考.

    1. 在Xcode中打开项目。

    2. 在项目导航器中,选择项目文件。

    3. 在目标块中选择您的应用。

    4. 打开构建阶段标签。

    5. 点击 + → 新建运行脚本阶段。

    6. 在输入脚本字段中添加以下内容:

      if [ -d "${PODS_ROOT}/AppMetricaCrashes" ]; then
      HELPER_PATH=`find "${PODS_ROOT}/AppMetricaCrashes" -name "helper"`
      if [ -x  "${HELPER_PATH}" ]; then
      "${HELPER_PATH}" auto --post-api-key="Post API key"&
      else
      echo "Crash helper was not found"
      fi
      fi
      

      自动模式使用CONFIGURATION环境变量。 如果构建使用 调试 配置,则不会上传 dSYM 文件。

上传缺失的 dSYM 文件

如果在构建应用时没有上传 dSYM 文件,崩溃报告中会包含关于未符号化崩溃的警告。

警告

要对它们进行符号化,请上传缺失的 dSYM 文件。 您可以在应用的设置→崩溃页面查看缺失文件的列表Boost。

您可以上传缺失的 dSYM 文件:

  1. 安装 appmetrica fastlane 插件:

    fastlane add_plugin appmetrica
    

    要了解如何添加插件,请参见fastlane 文档。

  2. 将以下内容添加到 fastlane/Fastfile 文件中:

    lane :refresh_dsyms do
    download_dsyms
    upload_symbols_to_appmetrica(post_api_key: "Post API key")
    clean_build_artifacts
    end
    

    在 download_dsyms 操作中,您可以指定所需的应用版本和构建号:

    ...
    download_dsyms(version: "1.0.0", build_number: "345")
    ...
    

    了解有关 download_dsyms 操作的更多信息,请参阅 fastlane 文档。

  1. 找到包含 dSYM 文件的必要归档:

    通过 Xcode Organizer
    1. 在 Xcode 界面中,点击 窗口 → 组织者。
    2. 在归档标签页中,选择适当的应用版本。
    3. 点击 下载 dSYM。
    通过 App Store Connect
    1. 在 iTunes Connect 界面中,打开 活动 页面。
    2. 在所有构建标签页中,选择适当的构建号。
    3. 点击下载 dSYM。

    您可以使用在构建过程中生成的 dSYM 文件。

  2. 在Boost界面中,从左侧菜单进入应用设置。

  3. 打开 崩溃 → iOS。

  4. 点击 选择文件,上传包含 app.dSYM 或 app 目录的 ZIP 归档。

此选项只适用于未使用 Bitcode 构建的应用程序。

要使用插件,请安装版本 3.8.0 或更高的 AppMetrica SDK。 要将缺失的 dSYM 文件上传到 Boost,请在终端中运行以下命令:

helper -k <post-api-key> <file_path>

文件路径 — dSYM 文件列表或存储这些文件的文件夹。

辅助工具参考.

辅助工具参考

helper 工具自 3.8.0 版本的 AppMetrica SDK 起受支持。 它在 SDK 归档中。

Helper 是一个命令行工具,可以让您上传 dSYM 文件到 Boost。

$ helper [auto] [-o | --package-output-path=<path>] [-v | --verbose]
         [--version] -k <post-api-key> | --post-api-key=<key> [file ...]

参数

auto

自动上传模式。 在这种模式下,助手 使用以下变量:

  • 配置 — 用于定义配置。 如果构建使用 Debug 配置,则不会上传 dSYM 文件。
  • DWARF_DSYM_FOLDER_PATH — 用于查找 dSYM 文件。 通常这取决于 BUILT_PRODUCTS_DIR 变量。
  • AMA_POST_API_KEY — [发布 API 密钥](*发布 API 密钥)。 如果指定,您可以在自动模式下使用短 helper auto& 命令。

‑k

发布 API 密钥。 您可以在 设置 中获取 Post API 密钥 Boost。 它用于识别你的应用。

‑o

临时文件存储文件夹的路径。

默认情况下,使用系统文件夹。

‑v

允许显示额外信息。

‑‑version

输出版本。

文件

存储 dSYM 文件的文件夹列表。

默认情况下,使用本地工作文件夹。

& 允许您同时运行 helper,而不会阻塞整个项目的构建。 示例命令:

helper auto --post-api-key="发布 API 密钥"&

了解更多

如果您没有找到所需答案,可以通过反馈表单提交您的问题。 请尽可能详细地描述问题。 如果可能,请附上截图。

联系支持 为文档提出改进建议