iOS Firebase崩溃报告 – 运行构build脚本时出错

运行脚本上传符号文件(每次尝试构build我的项目)时出现以下错误:

upload-sym-util.bash:351:错误:symbolFileUploadLocation:API密钥和authentication凭证来自不同的项目。

这是我的构build脚本:

if [ "$CONFIGURATION" == "Debug" ]; then GOOGLE_APP_ID=<app-id> "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey-Dev.json else GOOGLE_APP_ID=<app-id> "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json fi 

我做了/检查的事情:

  1. GOOGLE_APP_IDCrashReportingKey*.json与相同的项目相关联。
  2. 我的GoogleService-Info*.plist文件具有API_KEY字段。
  3. 选中“仅在安装时运行脚本”框,这允许我运行应用程序,但实际上并不在开发环境中运行该脚本。 所以崩溃被发送到Firebase,但它们不是象征性的。

我愿意接受任何想法。 谢谢!

您无法覆盖GoogleService-Info.plist,这是正确的。 但是,仍然有一种方法可以覆盖上载脚本从该文件中使用的信息。

  1. 打开对应于.json的GoogleService-Info.plist。
  2. searchGOOGLE_APP_ID和API_KEY。
  3. 像这样调整构build脚本:

     export FIREBASE_APP_ID=<GOOGLE_APP_ID> export FIREBASE_API_KEY=<API_KEY> "${PODS_ROOT}"/FirebaseCrash/upload-sym "ServiceAccount.json" 

就你而言,你的最终脚本应该是这样的:

  if [ "$CONFIGURATION" == "Debug" ]; then export FIREBASE_APP_ID=<app-id> export FIREBASE_API_KEY=<API_KEY for dev> "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey-Dev.json else export FIREBASE_APP_ID=<app-id> export FIREBASE_API_KEY=<API_KEY for release> "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json fi 

我解决了:

在terminal中:rm $ HOME / Library / Preferences / com.google.SymbolUpload *

Xcode:产品 – >清洁

问题在于GoogleService-Info.plist文件的名称。

在我的项目中,我有以下文件:

  • GoogleService-Info.plist
  • GoogleService-Info-Dev.plist
  • CrashReportingKey.json
  • CrashReportingKey-Dev.json

Firebase崩溃报告上传脚本始终会严格查找名为GoogleService-Info.plist的文件。 由于它find了一个,我告诉脚本使用CrashReportingKey-Dev.json ,它抛出了项目不匹配的错误。

根据我的研究,无法告诉Firebase崩溃报告上传脚本要使用哪个*Info.plist文件,所以我决定只上传用于发布版本的符号文件,这很好。

我的运行脚本现在是以下,并按照它的工作原理。

 if [ "$CONFIGURATION" == "Release" ]; then GOOGLE_APP_ID=<app-id> "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json fi 

然后我从我的项目中删除了CrashReportingKey-Dev.json

在我的情况下,我不得不通过运行以下命令重置我的OAuth凭据:rm $ HOME / Library / Preferences / com.google.SymbolUpload *

如下所述: https : //firebase.google.com/docs/crash/ios

现在适合我!

我今天有这个错误。 我发现这个configuration,只需将这个GOOGLE_APP_IDreplace为您的GoogleService-Info.plist中的值即可

在此处查看图片,抱歉,我无权发布图片replaceGOOGLE_APP_ID