17

我遵循了位于此处的指南:https ://firebase.google.com/docs/crash/ios

但是当我完成并尝试构建时,我收到以下错误:/Users/--/Desktop/Test2/Pods/FirebaseCrash/upload-sym-util.bash:349: error: symbolFileUploadLocation: The caller does not have允许

有人有想法么?我在 google、stackoverflow 和 google groups 上进行了搜索,但没有看到其他人说明我能找到的这个问题。

运行 10.11.5、Xcode 7.3.1

当我打开错误的源代码时,它会将您带到第 349 行的 upload-sym-util.bash,这是该区域的片段:

    if [[ "$ERRMSG" ]]; then
        if ((VERBOSE)); then
            xcnote "Server response:"
            plutil -p "$FILE_UPLOAD_LOCATION_PLIST" >&2
        fi
        xcerror "symbolFileUploadLocation: $ERRMSG"
        xcnote "symbolFileUploadLocation: Failed to get upload location."
        return 1
    fi
4

7 回答 7

4

让我添加答案,将 json 文件重命名为 ServiceAccount.json,将其放入 xcode 的 pods 文件夹并用这个替换谷歌建议的路径,优点是如果您将项目转移给其他人,该项目将是可移植的......

# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "${PODS_ROOT}"/ServiceAccount.json
于 2016-11-09T09:43:04.157 回答
4

您需要先在https://console.cloud.google.com/接受 ToS

然后为您为上传符号而创建的服务帐户赋予编辑角色,如下所述:https ://firebase.google.com/docs/crash/ios#set_up_crash_reporting

于 2016-05-31T01:58:47.973 回答
4

文档中有一个错误:省略了步骤。“符号上传服务帐户”的角色必须具有编辑权限才能更新符号数据库。以下(“步骤 1½”)应该出现在步骤 1 和步骤 2 之间。

要确保服务帐户具有写入权限:

  1. 权限页面上,从左侧菜单中选择IAM 。
  2. 在搜索框中输入“符号上传”。
  3. “符号上传服务帐户”必须至少具有“编辑者”角色。

很抱歉造成混乱。

于 2016-05-23T20:40:59.703 回答
2
  1. 确保在创建服务帐户时为“符号上传服务帐户”提供 Project > Editor 角色。如果您忽略分配角色,服务帐户将不会显示在权限 > IAM 中。
  2. 当 Xcode 运行脚本执行时,它会在$HOME/Library/Preferences/目录中创建两个文件:com.google.SymbolUpload.plistcom.google.SymbolUploadToken.plist. 如果您创建一个新的服务帐户(或私钥),那么您需要删除这两个文件以清除您的旧服务帐户信息。Firebase 文档强调了这一点,但值得重复。

在此处输入图像描述

于 2016-08-17T17:44:40.567 回答
0

当我尝试在我的项目中使用第二个 Firebase 数据库时,我遇到了类似的错误。但是,我忘记了我将崩溃分析代码添加到特定于第一个数据库的运行脚本中。一旦我在构建阶段删除了运行脚本代码,符号上传文件的问题就消失了。

于 2017-08-09T16:05:21.537 回答
0

对于那些对指南的第二步(在上面的@Robert 回答中提到)感到困惑的人,您需要成为 firebaseowner应用程序才能更改服务帐户。

于 2016-07-01T10:25:04.363 回答
0

如果您从服务帐户屏幕添加它,则为我工作。单击权限并将其添加为编辑器。

在此处输入图像描述

于 2016-05-24T14:11:55.283 回答