上传符号文件时遇到问题 - FCR_PROD_VERS:未设置

Posted

技术标签:

【中文标题】上传符号文件时遇到问题 - FCR_PROD_VERS:未设置【英文标题】:Having trouble uploading symbol file - FCR_PROD_VERS: not set 【发布时间】:2016-06-20 05:17:58 【问题描述】:

我在为 Firebase 崩溃报告上传符号文件时遇到问题。

使用命令行,当我导航到我的 Xcode 项目文件夹并按照说明运行命令时:

./Pods/FirebaseCrash/batch-upload XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX

我收到以下错误:

FCR_PROD_VERS:未设置(检查 GoogleService-Info.plist 和 Info.plist 设置)

如何以及在哪里设置它?为什么不自动设置?

【问题讨论】:

【参考方案1】:

batch-upload 尝试从工作区获取尽可能多的信息,但有些东西可能不容易被发现。如果它找不到这些值,您可以自己提供它们来帮助它。

SERVICE_PLIST - GoogleService-Info.plist 的路径(-p 命令行选项) INFO_PLIST - Info.plist 的路径(-i 命令行选项) FCR_BUNDLE_ID - CFBundleIdentifier 来自 Info.plist FCR_DUMP_SYMS - dump_syms 可执行文件的路径 FCR_PROD_VERS - CFBundleShortVersionString(营销版)来自 Info.plist FIREBASE_API_KEY - 来自 GoogleService-Info.plist 的 API 密钥 (API_KEY) FIREBASE_APP_ID - 来自 GoogleService-Info.plist 的应用 ID (GOOGLE_APP_ID) SWIFT_DEMANGLE - swift-demangle 可执行文件的路径(如果不使用 Swift,请使用“/bin/cat”以避免一些无害的警告)

所以如果营销版本是“7.2.3”,可以通过

避免上述错误
$ env FCR_PROD_VERS="7.2.3" Pods/FirebaseCrash/batch-upload \
    72C2FABA-2092-4817-A1C7-3E3281AA84DA

如果能找到UUID对应的可执行文件就更好了:

$ dwarfdump --uuid build/Release-iphoneos/MyApp.app/MyApp
UUID: 72C2FABA-2092-4817-A1C7-3E3281AA84DA (arm64) ...
UUID: 1800251C-9147-3642-92DA-818B97144148 (armv7) ...

$ env FCR_PROD_VERS="7.2.3" Pods/FirebaseCrash/batch-upload \
    build/Release-iphoneos/MyApp.app/MyApp

请理解 batch-upload 不是上传符号以进行崩溃后分析的正常方式:该工作应由 Xcode 构建中的 upload-sym 完成本身(它可以访问比批量上传更多的信息)。

(这些工具变得复杂到需要自己的手册页。)

【讨论】:

这让我更接近能够上传但现在我得到一个对话框询问:服务帐户文件在哪里?那是什么,它在哪里? 在对话框之前的控制台中,它也这样说:读取对象文件时出错:/Users/user/Library/Developer/Xcode/Archives/2016-06-28/myappname 6-28-16, 9.17 AM.xcarchive: 对不起,正在度假。作为设置的一部分,您应该已经下载了服务帐户 JSON 文件。请确保您按照firebase.google.com/docs/crash/ios#upload_symbol_files 中的所有步骤准备您的应用程序以上传符号。同样,请记住,批量上传是针对不寻常的情况,例如,第三方预编译库或 Xcode 之外的多部分构建:警告表明并非所有指令都被正确遵循,系统正在尝试为您恢复它可以。

以上是关于上传符号文件时遇到问题 - FCR_PROD_VERS:未设置的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 在混淆时上传调试符号没有意义吗?

使用 FileReader api 上传二进制文件时遇到问题

从 Javascript 上传文件并通过 Go 接收文件时遇到问题

上传文件时怎么对文件名进行限制,不能含有特殊字符

尝试使用 wininet 将文件上传到 FTP 时遇到问题 [Id 返回 1 退出状态]

上传去混淆和符号文件