运行脚本上传符号文件时出现以下错误(每次我尝试构建我的项目时):
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
关于iOS Firebase 崩溃报告 - 运行构建脚本时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41732390/