gpt4 book ai didi

ios - 作为 Xcode 构建过程的一部分,如何运行上传符号以上传 dSYM?

转载 作者:可可西里 更新时间:2023-11-01 00:28:23 25 4
gpt4 key购买 nike

好的,所以我正在尝试自动上传 dSYM。我正在按照此官方文档中的说明进行操作: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports

我卡在“手动运行上传符号脚本”部分。有 3 种上传 dSYM 的方法。我正在尝试遵循第一个 - 在您的构建过程中包括以下行:找到 ${DWARF_DSYM_FOLDER_PATH} -name "*.dSYM"| xargs -I\{\} ${PODS_ROOT}/Fabric/upload-symbols -gsp MyProjectFolder/GoogleService-Info.plist -p ios\{\}

现在我尝试了以下方法:

  1. 我转到“项目”->“方案”->“编辑方案”。
  2. 我点击 Build->Post actions
  3. 我从小做起 - 我只想在构建过程中显示“回声”: dSYMs
  4. 我运行产品->构建
  5. 我转到“查看”->“导航器”->“显示报告导航器”
  6. 没有迹象表明 echo 已运行。

把这个脚本放在哪里?

如何判断是否正在运行?

最佳答案

TL;DR: 构建时生成的 dSYMS 在“启用位码”时代几乎没有值(value),您需要从 Apple 下载 dSYM 并将其上传到您的第 3 方崩溃报告器服务作为 Apple 处理您的上传后的构建后步骤。

背景

症状

第 3 方崩溃报告控制台中缺少 dSYM/失败符号。我认为尽管遵循了 Crashlytics 安装说明,脚本还是失败了。

Bitcode - 根本问题

事实证明,第 3 方崩溃报告系统(如 Crashlytics 或 New Relic)在应用程序分发的当前最佳实践中存在一个根本问题,即启用位码的应用程序。从历史上看,这些第 3 方崩溃报告系统依赖于构建时步骤来上传构建时生成的 dSYM。但是,由于启用位码意味着应用商店会重新编译您的应用,因此您尝试上传的构建时生成的 dSYM 实际上是无用的。

作为背景,支持位码的应用程序被“精简”,因此由 Apple 重新编译,这样每台设备只获得它需要的下载位。 你想启用位码。这是一件好事。但是,启用位码的分发会弄乱符号。 无论您在构建时生成什么 dSYM,dSYM 实际上都不会与 App Store 或 TestFlight 安装版本的崩溃相关联,因为您的崩溃将来自应用商店使用新的相应 dSYM 重新编译的应用版本。

所以不必担心上传脚本在构建时是否有效。事实上,该步骤可以从您的构建过程中删除,因为它只会浪费您的时间和带宽。

它可能唯一有用的情况是,如果您想从本地安装的发布版本中符号化崩溃,而不是直接在 Xcode 中调试它们。

解决方案

解决方案是等待“一段时间”(据报道几分钟,通过 NewRelic 文档,根据我的经验,在 faSTLane 上传后 sleep 120 秒,但在我运行 faSTLane 的 download_dsyms 操作之前有时会失败,300 秒的 sleep 可靠地工作)上传您的应用程序后(可能是 App Store 显示您的构建正在“处理中”的持续时间),然后从那里下载 dSYM 并使用您的第 3 方崩溃报告器命令行上传脚本

手动下载/上传

3rd 方崩溃报告器(至少包括 NewRelic 和 Crashlytics 文档)目前推荐的解决方案是转到 App Store Connect 页面构建并下载 dSYM 然后上传,或者使用 XCode 的 Organizer 存档点击“下载调试符号”按钮,然后上传它们。

这确实有效,将手动 dSYM 下载推送给您的崩溃报告供应商,您将获得符号化报告。尽管使用 Xcode GUI 或 App Store Connect 界面,但这是一个手动过程。

快车道自动化

不过,您可以使用 FaSTLane 自动执行该过程,我认为这是正确的解决方案。

https://docs.fastlane.tools/actions/download_dsyms/#download_dsyms

https://docs.fastlane.tools/actions/upload_symbols_to_crashlytics/

关于ios - 作为 Xcode 构建过程的一部分,如何运行上传符号以上传 dSYM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54577202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com