Obtén informes de fallas legibles en el panel de Crashlytics
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
iOS+ (plataformas de Apple)
En el caso de las apps de plataformas de Apple que usan el SDK de Crashlytics para Unity 8.2.0 y versiones posteriores, el complemento de Firebase
Unity Editor configura automáticamente tu proyecto de Xcode para subir
símbolos. Descarga la versión más reciente.
Android
En el caso de las apps para Android, el SDK de Crashlytics para Unity 8.6.1 y versiones posteriores incluye
informes de fallas del NDK, lo que le permite a Crashlytics informar automáticamente las fallas de
IL2CPP
de Unity en Android. Sin embargo, para ver seguimientos de pila simbolizados sobre fallas de bibliotecas
nativas en el panel de Crashlytics, debes subir la información de los símbolos en
el tiempo de compilación con Firebase CLI.
Solo para apps que usan el nivel de API de Android 30 o superior: Actualiza la plantilla
AndroidManifest.xml de tu app para inhabilitar el etiquetado de punteros:
Marca la casilla de Android Player Settings > Publishing Settings > Build > Custom Main Manifest.
Abre la plantilla de manifiesto ubicada en
Assets/Plugins/Android/AndroidManifest.xml.
(solo para apps que usan una versión del SDK anterior a la
8.8.0) Agrega el
siguiente atributo a la etiqueta de aplicación:
<application android:allowNativeHeapPointerTagging="false" ... />
Compila tu proyecto y sube los símbolos.
Sigue estos pasos cada vez que crees una compilación de lanzamiento o cualquier compilación
en la que quieras ver seguimientos de pila simbolizados en
Firebase console.
En el diálogo Build Settings, realiza una de las siguientes acciones:
Exporta a un proyecto de Android Studio para compilar tu propio proyecto.
Compila tu APK directamente en Unity Editor.
Antes de compilar, asegúrate de que la casilla de verificación Create symbols.zip
esté marcada en el diálogo Build Settings.
Una vez que finalice la compilación, genera un archivo de símbolos compatible con Crashlytics
y súbelo a los servidores de Firebase; para ello, ejecuta el siguiente comando de
Firebase CLI:
FIREBASE_APP_ID: El ID de la app para Android de Firebase (no el
nombre del paquete)
ID de ejemplo de la app para Android de Firebase: 1:567383003300:android:17104a2ced0c9b9b
¿Necesitas encontrar el ID de la app de Firebase?
Puedes hacerlo de las siguientes dos maneras:
En el archivo google-services.json, el ID de la app es el
valor mobilesdk_app_id.
En Firebase console, ve a
Configuración del proyecto.
Desplázate hacia abajo hasta la tarjeta Tus apps y, luego, haz clic en la app de Firebase
que quieres para buscar su ID.
PATH/TO/SYMBOLS es la ruta de acceso al archivo de símbolos que genera la
CLI
Si se exportó a un proyecto de Android Studio:
PATH/TO/SYMBOLS es el directorio unityLibrary/symbols
que se crea en la raíz del proyecto exportado después de compilar la app
con Gradle o Android Studio.
Si se compiló el APK directamente en Unity:
PATH/TO/SYMBOLS es la ruta de acceso del archivo de símbolos
comprimido que se generó en el directorio raíz del proyecto cuando finalizó la compilación
(por ejemplo:
myproject/myapp-1.0-v100.symbols.zip).
Consulta las opciones avanzadas para usar el
comando de Firebase CLI para subir y generar archivos de símbolos
Marca
Descripción
--generator=csym
Usa el generador de archivos de símbolos cSYM heredado en lugar del generador
de Breakpad predeterminado.
No se recomienda utilizarlo. Recomendamos usar el generador
de archivos de símbolos de Breakpad predeterminado.
--generator=breakpad
Usa el generador de archivos de símbolos de Breakpad.
Ten en cuenta que la configuración predeterminada para generar archivos de símbolos es Breakpad.
Solo debes usar esta marca si agregaste
symbolGenerator { csym() }
a la configuración de tu compilación y quieres anularla para
usar Breakpad.
--dry-run
Genera los archivos de símbolos, pero no los sube.
Esta marca es útil si quieres inspeccionar el contenido de los
archivos que se envían.
[null,null,["Última actualización: 2025-08-18 (UTC)"],[],[],null,["\u003cbr /\u003e\n\niOS+ Android Flutter Unity \n\n\u003cbr /\u003e\n\nBy default, Firebase Crashlytics automatically processes your debug symbol\n(dSYM) files to give you deobfuscated and human-readable crash reports. You\nusually configure this behavior during the initial setup of Crashlytics in\nyour app, specifically by\n[adding a run script](/docs/crashlytics/get-started?platform=ios#set-up-dsym-uploading)\nthat automatically uploads dSYM files during your app's build phase.\n\nUnfortunately, there are a few cases that could cause your automatic dSYM files\nupload to fail. This guide provides some ways to troubleshoot when\nCrashlytics can't locate your app's dSYM files.\n\nMake sure Xcode can automatically process dSYMs and upload the files\n\nWhen setting up Crashlytics in your app, you\n[configured a run script](/docs/crashlytics/get-started?platform=ios#set-up-dsym-uploading)\nto automatically process dSYMs and upload the files.\n\nMake sure that your configuration for the Crashlytics run script is\nup-to-date with the new requirements which started with Xcode 15. If your\nconfiguration isn't up-to-date, you might be getting the following error: \n\n`error: Info.plist Error Unable to process Info.plist at path ...`.\n\nSpecifically, Xcode 15 and later requires that you provide a more complete set\nof file locations. For your Crashlytics run script\n(`firebase-ios-sdk/Crashlytics/run`), make sure that you have the following\nsetup:\n\n1. Click the **Build Phases** tab, and then expand the *Run Script* section.\n\n2. In the *Input Files* section, make sure you have the paths for the locations\n of the following files:\n\n ```\n ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}\n ``` \n\n ```\n ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}\n ``` \n\n ```\n ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\n ``` \n\n ```\n $(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist\n ``` \n\n ```\n $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)\n ```\n If you have `ENABLE_USER_SCRIPT_SANDBOXING=YES` and `ENABLE_DEBUG_DYLIB=YES` in your project build settings, then include the following: \n\n ```\n ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib\n ```\n **Understand why the locations of these files are\n needed**\n\n Xcode looks in the specified locations for these input files to ensure\n that the build files are available for the run script. Also, if\n *User Script Sandboxing* is enabled, Xcode only allows the run\n script to access files specified in the *Input Files*.\n - Providing the location of your project's dSYM files enables Crashlytics to process dSYMs.\n - Providing the location of your app's built `GoogleService-Info.plist` file enables Crashlytics to associate the dSYMs with your Firebase app.\n - Providing the location of your app's executable allows the run script to prevent duplicate uploads of the same dSYM. Note that app binaries are *not uploaded*.\n\nCheck if Xcode is producing dSYMs\n\nMore often than not, dSYM files go missing because Xcode simply isn't producing\nthem. When an upload fails, Crashlytics displays a \"Missing dSYM\" alert in\nthe Firebase console. If you get this alert, first check that Xcode is\nproducing the correct dSYM for every build:\n\n1. Open your project in Xcode, and then select the project file in the Xcode\n Navigator.\n\n2. Select your main build target.\n\n3. Open the target's **Build Settings** tab, and then click **All**.\n\n4. Search for `debug information format`.\n\n5. Set **Debug Information Format** to **DWARF with dSYM File** for all\n your build types.\n\n6. Rebuild your app.\n\nYour crash reports should now appear in the\n[Crashlytics dashboard](https://console.firebase.google.com/project/_/crashlytics). If the problem persists or you\nencounter other errors, try [locating your dSYMs](#locate) and\n[uploading them to Crashlytics manually](#upload-dsyms).\n\nLocate your dSYMs on a local machine\n\nRun the following command to display all your dSYMs' UUIDs on your machine and\nsearch for the missing dSYM: \n\n```text\nmdfind -name .dSYM | while read -r line; do dwarfdump -u \"$line\"; done\n```\n\nOnce you find the dSYM, [manually upload it to Crashlytics](#upload-dsyms).\nIf the `mdfind` command doesn't return any results, you can look in the\n`Products` directory where your `.app` lives (by default, the `Products`\ndirectory is located in `Derived Data`). If your app is released to production,\nyou can also look for its dSYM in the `.xcarchive` directory on disk:\n\n1. In Xcode, open the **Organizer** window, and then select your app from the\n list. Xcode displays a list of archives for your project.\n\n2. Control-click an archive to view it in Finder. Control-click it again, and\n then click **Show Package Contents**.\n\n3. Within `.xcarchive` is a dSYMs directory that contains dSYMs generated as\n part of Xcode's archiving process.\n\nUpload your dSYMs\n\nCrashlytics supports multiple ways to upload your dSYMs files, either\n[automatically](#auto-upload-dsyms) or [manually](#manually-upload-dsyms).\n\n*(Recommended)* Automatically process your dSYMs and upload the files\n\nWhen you initially set up Crashlytics, you most likely configured this\nautomatic upload behavior for your app. However, if automatic uploads are\nfailing, [check that your configuration is correct](#check-input-files-setup).\n\nManually upload your dSYM files\n\nIf automatic uploads are failing, you can manually upload your dSYM files using\neither of the following options.\n\n- **Option 1** : Use the console-based \"Drag and Drop\" option to upload a zip\n file containing your dSYM files (go to the\n Firebase console \\\u003e\n [Crashlytics](https://console.firebase.google.com/project/_/crashlytics) \\\u003e\n *dSYMs* tab).\n\n- **Option 2** : Use the `upload-symbols` script that you can call from\n anywhere in your build process to manually upload your dSYM files. To run the\n `upload-symbols` script, use either of the following options:\n\n - **Option A**: Include the following line in your build process:\n\n ```gdscript\n find dSYM_DIRECTORY -name \"*.dSYM\" | xargs -I \\{\\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \\{\\}\n ```\n - **Option B**: Run the script directly from your terminal:\n\n ```\n /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs\n ```\n\n For usage notes and additional instructions about this script, run\n `upload-symbols` with the `--help` parameter."]]