【问题标题】:How to upload dsyms files which developed with Flutter?如何上传使用 Flutter 开发的 dsyms 文件?
【发布时间】:2019-09-06 15:51:37
【问题描述】:

我正在开发一款支持 Flutter 的跨平台应用。我为崩溃报告集成了 firebase Crashlytics。在我需要检查报告之前出现一条错误消息

Upload 1 missing dSYM required to process 4 crashes

为此,我尝试了 firebase 文档

Get deobfuscated crash reports

另外,我按照步骤使用颤振构建 iOS 存档

Preparing an iOS App for Release

不过,firebase 门户上也存在同样的问题

Upload 1 missing dSYM required to process 4 crashes

我尝试了很多次,但仍然没有完成。

如果有人有想法,请帮我解决这个问题。

感谢社区

【问题讨论】:

  • 您应该在ios 目录中找到the Runner.app.dSYM.zip。它由 flutter build ios 命令生成,用于发布版本,假设 Crashlytics 设置正确。
  • 我也试过了,但没有完成。
  • 你是如何生成发布包的?
  • using 在命令行中,在您的应用程序目录中按照以下步骤操作: 运行 flutter build ios 以创建发布版本(flutter build 默认为 --release)。要确保 Xcode 刷新发布模式配置,请关闭并重新打开 Xcode 工作区。对于 Xcode 8.3 及更高版本,此步骤不是必需的。

标签: ios firebase flutter crashlytics


【解决方案1】:

让您的 Xcode 在您运行/构建应用时自动上传它。

我。打开 Xcode > 目标 > MyProjectName > 构建阶段

添加由每个脚本组成的两个脚本(使用 + 号)

  1. "${PODS_ROOT}/FirebaseCrashlytics/run"

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

重要提示:确保将 MyProjectName 替换为您的项目名称,但保持原样。

二。还要确保在 Targets > MyProjectName > Build settings 中检查这些选项

调试信息格式设置为DWARF with dSYM file

三。视觉效果

【讨论】:

  • 我做了与你完全相同的配置,但我仍然在 firebase 控制台中收到警告...知道可能出什么问题吗?
  • 注意:这是"${PROJECT_DIR}/Runner/GoogleService-Info.plist" 而不是"${PROJECT_DIR}/MyProjectName/GoogleService-Info.plist"(你的截图很好)
  • @Milvintsiss 屏幕截图是项目名称“Runner”的示例,以便使其相关。
  • 哦,我正在学习一些东西,我从来没有在没有 Flutter 的情况下做过 iOS 项目,所以我认为“Runner”就像 Android 中的“app”文件夹,它不能有其他名称 ^^
  • 这不再有效,因为您使用 flutterfire CLI 初始化了 firebase。由于不再使用GoogleService-Info.plist,因此我尝试将-gsp "[Path to file]"-ai "[App ID]" 进行交换。但我仍然收到以下错误:error: Could not get GOOGLE_APP_ID in Google Services file from build environment。有谁知道我该如何解决这个问题?
【解决方案2】:

在准备发布我的应用时,我会采取以下步骤来导出、上传和获取 dSYM:

  1. 在终端中我运行“flutter build ios --release”
  2. 在 xCode 中打开 iOS 项目并将设备切换到“通用 iOS 设备”
  3. 从顶部菜单产品>存档
  4. 完成后,管理器窗口将显示您存档的构建。您也可以从 Window>Organizer
  5. 手动打开此窗口
  6. 选择您要上传到 iTunes Connect 的构建并点击分发应用程序并按照流程进行操作
  7. 上传完成后,右键单击管理器窗口中的构建,然后单击“在 Finder 中显示”
  8. 您应该会在 finder 中看到一个存档文件,右键单击它并单击“显示包内容”。
  9. 里面应该有一个名为 dSYM 的文件夹,您可以将其压缩并发送到任何您需要的地方

【讨论】:

    【解决方案3】:

    您也可以使用Fastlane 将其作为发布过程的一部分自动执行。 这是一个可以进入你的Fastfile的例子

    platform :ios do
      desc "Upload symbols to Crashlytics"
      lane :toCrashlytics do
        upload_symbols_to_crashlytics
      end
    end
    

    然后你可以运行fastlane ios toCrashlytics 来运行它。

    请参阅this link 了解更多详情。

    【讨论】:

    • 最好的办法!快车道摇滚。
    【解决方案4】:

    在构建 Flutter 应用的存档后(使用 Xcode),您可以从 Flutter 应用的 ios 目录(使用 Firebase 的上传工具)运行以下命令:

    Pods/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios build/Runner.xcarchive/dSYMs
    

    更改上述命令行以指向正确的 Firebase plist 文件。 -p 标志指定平台(可以是iosmactvos)。上述命令还会查找 App 的存档文件Runner.xcarchive

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 2020-12-17
      • 2017-01-04
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多