No se pudo completar el envío de dSYM cuando la migración de fabric a firebase para crashlytics


12

Estoy usando xcode11 con mac os 10.14.1. Implementé la migración de fabric to firebase usando los siguientes documentos.

https://medium.com/@niamhpower/the-great-migration-moving-from-fabric-to-firebase-as-an-ios-developer-7b61a8b40008

Y generé código para probar el bloqueo, pero este informe de bloqueo no puede aparecer en la consola de firebase crashlytics. Utilicé el siguiente documento para esta implementación

https://firebase.google.com/docs/crashlytics/force-a-crash?platform=ios

También agregué el siguiente script de ejecución en las fases de compilación de Xcode

"$ {PODS_ROOT} / Fabric / upload-symbols" -gsp "$ {PROJECT_DIR} /GoogleService-Info.plist" -p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}"

Pero esto devolverá el siguiente error cuando ejecuto la aplicación.

31merror: No se pudo completar el envío de dSYM en /Users/macmini1/Library/Developer/Xcode/DerivedData/app_name-dnzsvdsxebmfqjbjecjlyhdzwags/Build/Products/Debug-iphonesimulator/app_name.app.dS.Mc.error.mac.error.mac.sc -domain.process-dsym Código = 3 "El archivo ya no existe en (nulo)" UserInfo = {NSLocalizedFailureReason = El archivo ya no existe en (nulo)} [0m El comando PhaseScriptExecution falló con un código de salida distinto de cero

¿Podrías ayudarme a resolver este problema?


¿Sigue experimentando el problema? Firebase tiene un OMG que estaba afectando a los desarrolladores para cargar los dSYMs
— Zubair

hola, estoy atrapado en el mismo problema, ¿tuviste suerte? La respuesta de @ weet1988 no solucionó mi problema (ya es el último script que se ejecuta en mi caso)
— mikey

1
@mikey Eliminé el script del script de ejecución y nuevamente agregué y también cerré el xcode. Luego intenté ejecutar de nuevo
— Funcionará

De hecho, conseguí que Crashlytics funcionara sin el upload-symbolsscript. Acabo de actualizar los pods a las últimas versiones disponibles y me aseguro de que $ {PODS_ROOT}/Fabric/runfue el último en ejecutarse. Gracias por su respuesta @IKKA
— mikey

@mikey Querías decir que estás usando solo el comando $ {PODS_ROOT} / Fabric / run en runscript; ¿Correcto?
— IKKA

Respuestas:


5

Yo tuve el mismo problema. La razón fue que el script "$ {PODS_ROOT} / Fabric / run" no fue el último en la lista de scripts en Build Phases. Hizo que el guión dure y todo se volvió correcto.


2
mi guión es el último pero aún recibo este error ...
— Danpe

5

He resuelto agregando findcomando. Agregue el comando de búsqueda sobre los símbolos de carga

Ejemplo:

busque "$ {DWARF_DSYM_FOLDER_PATH}" -name "* .dSYM" | xargs -I {} $ PODS_ROOT / Fabric / upload-symbols -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios {}

"$ {PODS_ROOT} / Fabric / upload-symbols" -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}"


¿Necesitamos cargar otros archivos .dSYM que no sean $ {DWARF_DSYM_FILE_NAME}?
— CyberMew

@CyberMew, no es necesario cargar todo el archivo .dSYM. tienes razón. Entonces podemos encontrar solo el archivo que necesitamos cargar. He modificado mi respuesta.
— Ramesh RC

Creo que su respuesta original para cargar todos los archivos .dSYM es correcta. Lo he verificado con soporte, y mencionaron que "Crashlytics requerirá los archivos de símbolos de su aplicación principal junto con los símbolos de cualquier marco o biblioteca utilizada". básicamente sí, se requieren todos los archivos de símbolos.
— CyberMew

¡Eso es súper genial! Cuando subo todos los archivos .dSYM para probar el vuelo, recibo una advertencia "ITMS-90381: Demasiados archivos de símbolos". ¿Alguna idea?
— Ramesh RC

Subir a test flight? ¿Te refieres a Firebase Crashlytics en su lugar? No estoy seguro, ya que no lo he encontrado antes, ¡tal vez pueda probar esta solución stackoverflow.com/questions/25755240/… , si no funciona, póngase en contacto con el soporte y díganos qué dicen!
— CyberMew
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.