带有崩溃符号的Xcode错误上传:symbolFileUploadLocation:调用者没有权限

我按照这里的指南: https : //firebase.google.com/docs/crash/ios

但是当我完成并尝试构build时,出现以下错误:/Users/–/Desktop/Test2/Pods/FirebaseCrash/upload-sym-util.bash:349:error:symbolFileUploadLocation:调用者没有允许

有人有主意吗? 我search谷歌,堆栈溢出和谷歌组,并没有看到任何人说明这个问题,我可以find。

运行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 

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

然后将编辑器angular色添加到为上传符号而创build的服务帐户,如下所述: https : //firebase.google.com/docs/crash/ios#set_up_crash_reporting

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

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

  1. 权限页面上,从左侧菜单中selectIAM
  2. 在search框中input“符号上传”。
  3. “符号上传服务帐户”必须至less具有“编辑”angular色。

对于混淆抱歉。

让我添加到答案,重命名为ServiceAccount.json JSON文件,将其放到Xcode的豆荚文件夹,并取代谷歌的build议path与这一个,好处是项目将是便携式,如果你将其转移给别人…

 # Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded "${PODS_ROOT}"/FirebaseCrash/upload-sym "${PODS_ROOT}"/ServiceAccount.json 
  1. 确保在创build服务帐户时为“符号上传服务帐户”提供项目>编辑者angular色。 如果您忽略分配angular色,服务帐户将不会显示在“权限”>“IAM”中。
  2. 当Xcode运行脚本执行时,它会在$HOME/Library/Preferences/目录中创build两个文件: com.google.SymbolUpload.plistcom.google.SymbolUploadToken.plist 。 如果您创build一个新的服务帐户(或私钥),那么您需要删除这两个文件来清除旧的服务帐户信息。 Firebase文档强调了这一点,但值得重复。

在这里输入图像说明

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

在这里输入图像说明

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

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