2

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

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

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

我收到以下错误:

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

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

4

1 回答 1

3

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

  • 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 -来自Info.plistCFBundleShortVersionString的(营销版本)
  • FIREBASE_API_KEY -API_KEY来自GoogleService-Info.plist 的API 密钥 ()
  • FIREBASE_APP_ID -GOOGLE_APP_ID来自GoogleService-Info.plist 的应用 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

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

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

于 2016-06-21T18:29:23.997 回答