使用上传符号将 dSYM 上传到 Firebase
Posted
技术标签:
【中文标题】使用上传符号将 dSYM 上传到 Firebase【英文标题】:upload dSYMs to Firebase using upload-symbols 【发布时间】:2020-04-03 14:19:49 【问题描述】:自从他们取消了简单直接的上传方式以来,尝试将 dSYMS 文件上传到 Firebase,但失败了。
我在终端中输入了这个: /Users/michael****/Desktop/Revibe/revibe-ios/Pods/FirebaseCrashlytics/upload-symbols -gsp /Users/michael****/Desktop/Revibe/revibe-ios/Revibe/Production-GoogleService-Info .plist -p ios /Users/michael****/Desktop/appDsyms
我收到此错误: -bash: /Users/michael*****/Desktop/Revibe/revibe-ios/Pods/FirebaseCrashlytics/upload-symbols: 没有这样的文件或目录
Firebase 说要将我的 Crashlytics 更新到 4.0.0 或更高版本,但是当我更新 cocoapod 时,它只能升级到 1.9.1 版本。同样,它说要将 Fabric 更新到 1.10.0 或更高版本,但我能得到的最高版本是 1.9.1。
如何修复此错误,以便再次阅读崩溃报告?
感谢您的帮助。
【问题讨论】:
我建议参考这个问题的答案***.com/questions/60821249/… 【参考方案1】:注意:Fabric SDK 现已弃用,并将继续报告 您的应用会在 2020 年 11 月 15 日之前崩溃。在这一天,Fabric SDK 和旧版本的 Firebase Crashlytics SDK 将停止发送 您的应用程序崩溃。要继续在 Firebase 控制台,请确保升级到 Firebase Crashlytics SDK 版本 4.0.0+ 适用于 iOS,6.15.0+ 适用于 Unity。
总结
-
复制您的 pod FirebaseCrashlytics 路径(1.path)
复制您的 GoogleService-Info.plist 路径(2.path)
在您的 xcode 项目中找到 dsYMs 文件夹(您可以在下面找到详细信息)
复制dsYMs文件路径(3.path)
/upload-symbols -gsp /GoogleService- Info.plist -p ios /dSYMs
/Users/Mobile/IOS/FireApp/Pods/FirebaseCrashlytics/upload-symbols -gsp /Users/Mobile/IOS/FireApp/ Firebase/Production/GoogleService-Info.plist -p ios /Users/Desktop/dSYMs
-
在终端中运行
逐步描述
在使用 FirebaseCrashlytics 而不是 Fabric Crashlytics 后,我们遇到了来自 firebaseConsole 的问题“上传缺少所需的 dSYM”。
要解决这个问题,你应该使用控制台/终端提示符。
请在下面找到完成命令的路径。
-
找到上传符号命令行工具路径。 firebaseSDK 文件中的这个命令行工具。如果您使用 Pods,请转到 pods 目录。
找到 GoogleService-Info.plist 路径。(安装 firebase SDK 时,此文件添加到您的项目根目录之前)。在您的 xode 项目中查找搜索
find dSYM_directory -name "*.dSYM"(Xcode-> Window -> Orginizer -> Archive ->(右键点击适当的存档文件 -> Show in Finder -> Show Packege Content)
(1.path)/upload-symbols -gsp (2.path)/GoogleService-Info.plist -p ios (3.path)/dSYMs
看下面
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs
命令已准备就绪。请在您的终端上运行。
【讨论】:
查看上传结果:好像忘记了存档文件夹两边的单引号。 你是对的。我们应该在空之前添加“\”。 是否应该在每次创建新存档(构建)时都这样做? @DanielZanchi 如果您的dysm文件没有发送到firebase,是的,您每次都应该这样做。【参考方案2】:应该是这样的:
/Pods/Fabric/upload-symbols -gsp
不是
/Pods/FirebaseCrashlytics/upload-symbols -gsp
注意:
如果您已升级到 Firebase Crashlytics SDK(版本 4.0.0 或更高版本),请在安装 SDK 的“FirebaseCrashlytics”文件夹中找到该工具。对于 CocoaPods,这将位于“Pods/FirebaseCrashlytics”中。
否则,为确保您拥有我们的新上传工具,请将您的 Fabric SDK 升级到 1.10.0 或更高版本。在 Xcode 项目目录的“Pods/Fabric”文件夹中找到该工具,如果通过 zip 下载安装,则在 Fabric.framework 中找到该工具。
【讨论】:
看来已经做到了。我可以发誓我从文档中复制了它。谢谢! 嘿@michaeldebo,我正在尝试使用 Crashlytics 路线。奇怪的是我得到了错误,“-bash: upload-symbols: command not found”——我在正确的目录中,我可以看到二进制文件。知道为什么这不令人兴奋吗? 我收到错误:“错误:缺少必需的标志 a/api-key”,但如果我插入 GoogleService_info.plist 中存在的 api 密钥返回:“错误:API 密钥 (-
复制您的 pod FirebaseCrashlytics 路径
复制您的 GoogleService-Info.plist 路径
转到管理器选择当前构建选择在查找器中显示,右键单击显示包内容并复制 dsYMs 文件夹并将其粘贴到您的桌面。
压缩 dsYMs 文件夹并复制文件路径。
在终端中运行
例子
/upload-symbols -gsp -p ios
【讨论】:
以上是关于使用上传符号将 dSYM 上传到 Firebase的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 错误:symbolFileMappings:upsert:上传的文件不是有效的 Breakpad 符号文件
使用 Firebase/Crashlytics 更改 Fabric 和 Crashlytics pod 以上传缺少的必需 dSYM
Firebase Crashlytics 为 UUID 上传丢失的 dSYMs 文件