ios - log - firebase crashlytics unity
Error de Xcode con la carga del sÃmbolo de bloqueo: symbolFileUploadLocation: la persona que llama no tiene permiso (7)
Seguí la guía que se encuentra aquí: https://firebase.google.com/docs/crash/ios
Pero cuando termino e intento construir, me aparece el siguiente error: /Users/--/Desktop/Test2/Pods/FirebaseCrash/upload-sym-util.bash:349: error: symbolFileUploadLocation: el llamante no tiene permiso
¿Alguien tiene alguna idea? He buscado en google, desbordamiento de pila y grupos de google y no veo a nadie más que indique este problema que puedo encontrar.
Ejecución 10.11.5, Xcode 7.3.1
Cuando abro la fuente del error, te lleva a upload-sym-util.bash, línea 349, aquí hay un fragmento de esa área:
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
- Asegúrese de otorgar a la "Cuenta de servicio de carga de símbolos" la función Proyecto> Editor cuando cree la cuenta de servicio . La cuenta de servicio no se mostrará en Permisos> IAM si no se le asigna un rol.
- Cuando se ejecuta el script de ejecución de Xcode, se crean dos archivos en el directorio
$HOME/Library/Preferences/
:com.google.SymbolUpload.plist
ycom.google.SymbolUploadToken.plist
. Si crea una nueva cuenta de servicio (o clave privada), deberá eliminar estos dos archivos para borrar la información de su cuenta de servicio anterior. La documentación de Firebase resalta esto, pero merece repetirse.
Hubo un error en la documentación: se omitieron los pasos. La función de la "cuenta de servicio de carga de símbolos" debe tener privilegios de editor para actualizar la base de datos de símbolos. Lo siguiente ("paso 1½") debería haber aparecido entre los pasos 1 y 2.
Para asegurarse de que la cuenta de servicio tenga permiso de escritura:
- En la página de Permisos , seleccione IAM en el menú de la izquierda.
- Escribe "Symbol Upload" en el cuadro de búsqueda.
- La "cuenta de servicio de carga de símbolos" debe tener al menos el rol de "Editor".
Perdón por la confusión.
Para aquellos de ustedes que están confundidos por el segundo paso de la guía (que se menciona en @Robert respuesta más arriba), debe ser owner
de la aplicación firebase para cambiar las cuentas de servicio.
Permítame agregar a las respuestas, cambiar el nombre del archivo json a ServiceAccount.json, soltarlo en la carpeta de pods de xcode y reemplazar la ruta sugerida por Google con esta, la ventaja es que el proyecto será portátil si lo transfiere a otra persona ...
# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "${PODS_ROOT}"/ServiceAccount.json
Primero debe aceptar ToS en https://console.cloud.google.com/
Luego, asigne un rol de editor a su cuenta de servicio creada para cargar símbolos como se describe aquí: https://firebase.google.com/docs/crash/ios#set_up_crash_reporting
Recibí un error similar cuando intenté usar una segunda base de datos Firebase en mi proyecto. Sin embargo, olvidé que agregué código de análisis de fallas al script de ejecución que era específico de la primera base de datos. Una vez que eliminé el código del script de ejecución en fases de compilación, el problema con el archivo de carga de símbolos desapareció.