iOS Firebase 崩溃报告 - 运行构建脚本时出错

标签 ios swift firebase firebase-crash-reporting

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

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

我做过/检查过的事情:

  1. GOOGLE_APP_IDCrashReportingKey*.json 与同一个项目关联。
  2. 我的 GoogleService-Info*.plist 文件有 API_KEY 字段。
  3. 选中“仅在安装时运行脚本”框,这允许我运行应用程序,但实际上并没有在开发环境中运行脚本。因此,崩溃会被发送到 Firebase,但不会被符号化。

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

最佳答案

您是正确的,无法覆盖 GoogleService-Info.plist。然而,仍然有一种方法可以覆盖上传脚本使用的来自该文件的信息片段。

  1. 打开.json对应的GoogleService-Info.plist。
  2. 搜索 GOOGLE_APP_ID 和 API_KEY。
  3. 像这样调整构建脚本:

    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/

相关文章:

ios - 如何在ios图表中向Y轴值/标签添加%?

iphone - 如何使用 Storyboard通过自定义图像设置 iphone 标签栏图标

ios - 在 Storyboard 中获取 subview 的框架

ios - CFBundleShortVersionString 返回错误的版本

swift - (GCM_SENDER_ID 不得为 nil 或空)每隔几天都会出现与 firebase 相同的错误

ios - 创建应用程序以在用户点击 View 时创建圆圈

xcode - Swift 中的自定义对象类

ios - 同步取数据 NSOperationQueue 或 NSURLSession

ios - NSDictionary 的第一个元素是 <null> 而不是 1

javascript - firebase 数据库中的图像上传在文件上传进度中给出 "NAN"