Xcode 崩溃符号上传错误:symbolFileUploadLocation:调用者没有权限
Xcode Error with Crash Symbol Upload: symbolFileUploadLocation: The caller does not have permission
我遵循了此处的指南:https://firebase.google.com/docs/crash/ios
但是当我完成并尝试构建时,出现以下错误:
/Users/--/Desktop/Test2/Pods/FirebaseCrash/upload-sym-util.bash:349: 错误: symbolFileUploadLocation: 调用者没有权限
有人有什么想法吗?我搜索了 google、stack overflow 和 google 组,没有看到任何其他人说明我能找到的这个问题。
运行 10.11.5,Xcode 7.3.1
当我打开错误的源代码时,它会带你上传-sym-util.bash,第349行,这里是那个区域的片段:
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
文档中有一个错误:省略了步骤。 "Symbol Upload service account" 的角色必须具有更新符号数据库的编辑权限。以下("step 1½")应该出现在步骤 1 和步骤 2 之间。
To ensure that the service account has write permission:
- On the Permissions page, select IAM from the left menu.
- Type "Symbol Upload" into the search box.
- The "Symbol Upload service account" must have at least the "Editor" role.
抱歉造成混淆。
如果您从 服务帐户 屏幕添加它,对我有用。单击权限并将其添加为编辑器。
您需要先在 https://console.cloud.google.com/
接受 ToS
然后为您创建的用于上传符号的服务帐户赋予编辑角色,如下所述:https://firebase.google.com/docs/crash/ios#set_up_crash_reporting
对于那些对指南的第二步感到困惑的人(在上面的@Robert 回答中提到),您需要成为 firebase 应用程序的 owner
才能更改服务帐户。
- 确保在创建服务帐户时为"Symbol Upload service account"授予项目 > 编辑者角色。如果您忽略分配角色,服务帐户将不会显示在权限 > IAM 中。
- 当 Xcode 运行 脚本执行时,它会在
$HOME/Library/Preferences/
目录中创建两个文件:com.google.SymbolUpload.plist
和 com.google.SymbolUploadToken.plist
。如果您创建一个新的服务帐户(或私钥),那么您需要删除这两个文件以清除您旧的服务帐户信息。 Firebase 文档强调了这一点,但值得重复。
让我添加答案,将 json 文件重命名为 ServiceAccount.json,将其放入 xcode 的 pods 文件夹并替换 google这个的建议路径,优点是如果你把它转移给其他人,这个项目将是可移植的...
# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "${PODS_ROOT}"/ServiceAccount.json
当我尝试在我的项目中使用第二个 Firebase 数据库时,我遇到了类似的错误。但是,我忘记了我已将崩溃分析代码添加到特定于第一个数据库的 运行 脚本中。一旦我删除了构建阶段中的 运行 脚本代码,符号上传文件的问题就消失了。
我遵循了此处的指南:https://firebase.google.com/docs/crash/ios
但是当我完成并尝试构建时,出现以下错误: /Users/--/Desktop/Test2/Pods/FirebaseCrash/upload-sym-util.bash:349: 错误: symbolFileUploadLocation: 调用者没有权限
有人有什么想法吗?我搜索了 google、stack overflow 和 google 组,没有看到任何其他人说明我能找到的这个问题。
运行 10.11.5,Xcode 7.3.1
当我打开错误的源代码时,它会带你上传-sym-util.bash,第349行,这里是那个区域的片段:
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
文档中有一个错误:省略了步骤。 "Symbol Upload service account" 的角色必须具有更新符号数据库的编辑权限。以下("step 1½")应该出现在步骤 1 和步骤 2 之间。
To ensure that the service account has write permission:
- On the Permissions page, select IAM from the left menu.
- Type "Symbol Upload" into the search box.
- The "Symbol Upload service account" must have at least the "Editor" role.
抱歉造成混淆。
如果您从 服务帐户 屏幕添加它,对我有用。单击权限并将其添加为编辑器。
您需要先在 https://console.cloud.google.com/
接受 ToS然后为您创建的用于上传符号的服务帐户赋予编辑角色,如下所述:https://firebase.google.com/docs/crash/ios#set_up_crash_reporting
对于那些对指南的第二步感到困惑的人(在上面的@Robert 回答中提到),您需要成为 firebase 应用程序的 owner
才能更改服务帐户。
- 确保在创建服务帐户时为"Symbol Upload service account"授予项目 > 编辑者角色。如果您忽略分配角色,服务帐户将不会显示在权限 > IAM 中。
- 当 Xcode 运行 脚本执行时,它会在
$HOME/Library/Preferences/
目录中创建两个文件:com.google.SymbolUpload.plist
和com.google.SymbolUploadToken.plist
。如果您创建一个新的服务帐户(或私钥),那么您需要删除这两个文件以清除您旧的服务帐户信息。 Firebase 文档强调了这一点,但值得重复。
让我添加答案,将 json 文件重命名为 ServiceAccount.json,将其放入 xcode 的 pods 文件夹并替换 google这个的建议路径,优点是如果你把它转移给其他人,这个项目将是可移植的...
# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "${PODS_ROOT}"/ServiceAccount.json
当我尝试在我的项目中使用第二个 Firebase 数据库时,我遇到了类似的错误。但是,我忘记了我已将崩溃分析代码添加到特定于第一个数据库的 运行 脚本中。一旦我删除了构建阶段中的 运行 脚本代码,符号上传文件的问题就消失了。