使用 Firebase/Crashlytics 更改 Fabric 和 Crashlytics pod 以上传缺少的必需 dSYM

Posted

技术标签:

【中文标题】使用 Firebase/Crashlytics 更改 Fabric 和 Crashlytics pod 以上传缺少的必需 dSYM【英文标题】:Change Fabric and Crashlytics pods with a Firebase/Crashlytics to Upload missing required dSYMs 【发布时间】:2020-03-25 19:17:55 【问题描述】:

我想将缺少的必需 dSYM 上传到 Firebase 控制台,但我不能,因为 Firebase Crashlytics 正在更新 here,所以我在我的代码中将 Fabric 更改为 Firebase/Crashlytics。

在 appDelegate 中

import FirebaseCrashlytics FirebaseApp.configure()

在构建阶段Run Script

我在终端中运行这个命令

/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

我在运行命令result后得到了这个

还没有修复here

如何解决这个问题?

【问题讨论】:

【参考方案1】:

您需要提供正确的路径,如下所示

$PODS_ROOT/directory/FirebaseCrashlytics/upload-symbols -gsp $PROJECT_DIR/GoogleService-Info.plist -p ios $DWARF_DSYM_FOLDER_PATH/$DWARF_DSYM_FILE_NAME

【讨论】:

亲爱的 Rajan 你能给我一个样本吗,因为我不知道如何使用例如我不知道如何获取上传符号和 googleService-Info 和 DWARF 的项目目录的路径)_DSYM路径,请帮帮我。 把我给出的这个路径放在Xcode构建阶段的运行脚本部分。 亲爱的 Rajan,我复制了这个路径来运行脚本,但是我得到一个错误 Command PhaseScriptExecution failed with a nonzero exit code。 解决它,通过终端通过这个路径 /path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/ dSYM,我在我的项目文件夹中获得了上传符号和 GoogleService-Info.plist 的路径,我从 itunesconnect 获得了 DSYM,我下载了 dSYM 的文件夹,然后我复制了 firebase 控制台中缺少的 UUID 的路径,然后运行它在终端中并上传。抱歉英语不好。【参考方案2】:

我在下面发布了成功调用上传符号脚本的代码。我建议再次通过this documentation 找出您可能出错的地方。

找到 /Users/okodysh/Library/Developer/Xcode/DerivedData/myApp-ftqksfkpdvisbtaozpqzzjiizpfk/Build/Products/Debug-iphonesimulator -name "myApp.app.dSYM" | xargs -I $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /Users/okodysh/Desktop/iOSApps/myApp/myApp/GoogleService-Info.plist -p ios

【讨论】:

【参考方案3】:

在我们为这个问题苦苦挣扎之后,终于用这种方法解决了它:

在终端中使用这个命令:/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

重要的是,您应该在应用程序文件夹中输入 pods 文件夹的路径而不是 /path/to/pods/directory,而不是 /path/to,您应该输入 GoogleService-Info.plist 的路径,它也在您的项目文件夹中.最后一个是,您应该输入格式为 .xcarchive 的存档路径,而不是 /path/to/dSYMs

要找到 .xcarchive 路径,您应该首先归档您的应用程序,然后转到 Xcode 的管理器并选择您的构建,然后右键单击它并选择 Show in finder,然后右键单击您的 .xcarchive 文件并选择 Show package contents .就是这样,您可以复制此路径并粘贴它而不是 /path/to/dSYMs,然后按 Enter 开始上传到 Firebase crashlytics。

【讨论】:

以上是关于使用 Firebase/Crashlytics 更改 Fabric 和 Crashlytics pod 以上传缺少的必需 dSYM的主要内容,如果未能解决你的问题,请参考以下文章

使用 Firebase/Crashlytics 更改 Fabric 和 Crashlytics pod 以上传缺少的必需 dSYM

对 Firebase/Crashlytics 的多个应用使用相同的谷歌应用 ID

如何从 Fabric Crashlytics 迁移到 Firebase Crashlytics?

如何在 Firebase Crashlytics 中查看崩溃的详细信息?

在 Xamarin iOS 中使用 Firebase Crashlytics

Firebase crashlytics 未在 iOS 中初始化