运行脚本上传符号文件时出现以下错误(每次我尝试构建项目时):
upload-sym-util.bash:351: error: symbolFileUploadLocation: The API Key and the authentication
credential are from different projects.
这是我的构建脚本:
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
我做过/检查的事情:
> GOOGLE_APP_ID和CrashReportingKey * .json与同一项目相关联.
>我的GoogleService-Info * .plist文件具有API_KEY字段.
>选中“仅在安装时运行脚本”框,允许我运行应用程序,但实际上并不在开发环境中运行脚本.因此崩溃会发送到Firebase,但它们不是象征性的.
我对任何想法持开放态度.谢谢!
解决方法
你是正确的,没有办法覆盖GoogleService-Info.plist.但是,仍然有一种方法可以覆盖上载脚本从该文件中使用的信息.
>打开与.json对应的GoogleService-Info.plist.
>搜索GOOGLE_APP_ID和API_KEY.
>像这样调整构建脚本:
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