上传符号文件时遇到问题 - 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:未设置的主要内容,如果未能解决你的问题,请参考以下文章
使用 FileReader api 上传二进制文件时遇到问题
从 Javascript 上传文件并通过 Go 接收文件时遇到问题