I followed the guide located here:https://firebase.google.com/docs/crash/ios
But when I'm done and attempt to build, I get the following error:
/Users/--/Desktop/Test2/Pods/FirebaseCrash/upload-sym-util.bash:349: error: symbolFileUploadLocation: The caller does not have permission
Anyone have any ideas? I've searched on google, stack overflow and google groups and don't see anyone else stating this issue that I can find.
Running 10.11.5, Xcode 7.3.1
When I open the source for the error, it takes you to upload-sym-util.bash, line 349, here is a snippet of that area:
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
You need to first accept ToS at https://console.cloud.google.com/
Then give editor role to your Service Account created for uploading symbols as described here: https://firebase.google.com/docs/crash/ios#set_up_crash_reporting
There was a mistake in the documentation: steps were omitted. The role of the "Symbol Upload service account" has to have editor privileges to update the symbol database. The following ("step 1½") should have appeared between steps 1 and 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.
Sorry about the confusion.
let me add to the answers, rename the json file into ServiceAccount.json, drop it into xcode's pods folder and replace google's suggested path with this one, the advantage is the project will be portable if you transfer it to someone else...
# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "${PODS_ROOT}"/ServiceAccount.json
Worked for me if you add it from Service Account screen. Click Permissions and add it as an editor.
For those of you who are confused by the second step of the guide (mentioned in @Robert answer above), you need to be owner
of the firebase app to change service accounts.
I was getting a similar error when I tried to use a second Firebase database in my project. However, I forgot that I added crash analytics code to the Run Script that was specific to the first database. Once I deleted the Run Script code in Build Phases, the problem with the symbol upload file went away.