Obtén informes de fallas desofuscados

ios
android

ios

Firebase Crashlytics procesa tus archivos de símbolos de depuración (.dSYM) automáticamente para proporcionarte informes de fallos desofuscados y legibles.

Lamentablemente, existen algunas situaciones en las que fallan las cargas de archivos dSYM. Por lo general, esto se debe a configuraciones de proyecto únicas o a Bitcode en tu app. Cuando una carga falla, Crashlytics muestra la alerta “Falta el archivo dSYM” en Firebase console para informarte que no puede mostrar informes de fallos correctamente.

Si ves esa alerta, tienes dos opciones para resolver el problema: verificar que Xcode genere los archivos dSYM correctos y, de ser así, ejecutar la secuencia de comandos manualmente para subir archivos dSYM.

Verifica si Xcode genera archivos de símbolos de depuración

En la mayoría de los casos, el motivo por el que faltan archivos de símbolos es que Xcode simplemente no los genera. Sigue estos pasos para verificar si tu proyecto genera archivos dSYM en cada compilación:

  1. Abre tu proyecto en Xcode y selecciona el archivo de proyecto en el Navegador de Xcode.
  2. Selecciona el destino de compilación principal en el menú desplegable Selecciona un proyecto o un destino.
  3. Abre la pestaña Configuración de compilación del destino.
  4. Haz clic en Todas cerca de la parte superior de la pestaña.
  5. Busca "formato de información de depuración".
  6. Configura Debug information format como DWARF with dSYM File.

A continuación, vuelve a compilar tu app y revisa Firebase console para comprobar si Crashlytics encuentra tus archivos dSYM.

Ejecuta la secuencia de comandos para subir símbolos de forma manual

A modo de respaldo, Crashlytics incluye upload-symbols, una secuencia de comandos que puedes llamar desde cualquier punto de tu proceso de compilación para subir los archivos dSYM de forma manual. La secuencia de comandos proporciona más información sobre el proceso de carga y mensajes de error más sólidos. Para ejecutarla, incluye la siguiente línea en tu proceso de compilación:

find dSYM_directory -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform \{\}

Además, puedes ejecutar la secuencia de comandos desde la terminal:

/path/to/pods/directory/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

También puedes hacerlo desde una fase de compilación de secuencia de comandos de ejecución de Xcode:

"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Nota: Si tienes problemas, ejecuta upload-symbols sin parámetros para ver las notas de uso y las instrucciones adicionales.
android

Crashlytics usa archivos de asignación de ProGuard y DexGuard para procesar los seguimientos de pilas de tu app como código desofuscado y en lenguaje natural. Para generar un archivo de asignación apropiado, debes configurar ProGuard o DexGuard para Crashlytics:

  1. Para conservar la información que Crashlytics necesita para los informes de fallas legibles, agrega las siguientes líneas al archivo de configuración Proguard o Dexguard:

    -keepattributes *Annotation*                      // Keep Crashlytics annotations
    -keepattributes SourceFile,LineNumberTable        // Keep file names/line numbers
    -keep public class * extends java.lang.Exception  // Keep custom exceptions (opt)
    
  2. Para permitir que Crashlytics suba el archivo de asignación de ProGuard o DexGuard automáticamente, quita esta línea del archivo de configuración:

    -printmapping mapping.txt
Para lograr compilaciones más rápidas con ProGuard, excluye Crashlytics. Agrega las siguientes líneas a tu archivo de configuración:
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.