Obtenez des rapports d'erreur lisibles dans le tableau de bord Crashlytics
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
iOS+ (plates-formes Apple)
Pour les applications de plate-forme Apple utilisant le SDK Unity 8.2.0 ou version ultérieure, le plug-in Firebase Unity Editor configure automatiquement votre projet Xcode pour importer les symboles.CrashlyticsTéléchargez la dernière version.
Android
Pour les applications Android, le SDK Unity Crashlytics 8.6.1 ou version ultérieure inclut automatiquement les rapports d'erreur NDK, ce qui permet à Crashlytics de signaler automatiquement les plantages Unity IL2CPP sur Android. Toutefois, pour afficher les traces de pile symbolisées pour les plantages de la bibliothèque native dans le tableau de bord Crashlytics, vous devez importer les informations sur les symboles au moment de la compilation à l'aide de l'interface de ligne de commande Firebase.
(uniquement pour les applications utilisant le niveau d'API Android 30 ou supérieur) Mettez à jour le modèle AndroidManifest.xml de votre application pour désactiver le taggage du pointeur :
Cochez la case Android Player Settings > Publishing Settings > Build > Custom Main Manifest (Paramètres du lecteur Android > Paramètres de publication > Compilation > Manifeste principal personnalisé).
Ouvrez le modèle de fichier manifeste situé à l'adresse Assets/Plugins/Android/AndroidManifest.xml.
(uniquement pour les applications utilisant une version du SDK antérieure à 8.8.0) Ajoutez l'attribut suivant à la balise d'application :
<application android:allowNativeHeapPointerTagging="false" ... />
Créez votre projet et importez des symboles.
Effectuez ces étapes chaque fois que vous créez un build de version ou un build pour lequel vous souhaitez afficher des traces de pile symbolisées dans la console Firebase.
Dans la boîte de dialogue Paramètres de compilation, effectuez l'une des opérations suivantes :
Exporter vers un projet Android Studio pour créer votre projet
Créez votre APK directement à partir de l'éditeur Unity.
Avant de compiler, assurez-vous que la case Créer symbols.zip est cochée dans la boîte de dialogue Paramètres de compilation.
Une fois votre compilation terminée, générez un fichier de symboles compatible avec Crashlytics et importez-le sur les serveurs Firebase en exécutant la commande CLI Firebase suivante :
FIREBASE_APP_ID : ID de votre application Android Firebase (et non le nom de votre package)
Exemple d'ID d'application Android Firebase : 1:567383003300:android:17104a2ced0c9b9b
Vous avez besoin de trouver l'ID de votre application Firebase ?
Voici deux façons de trouver l'ID de votre application Firebase :
Dans votre fichier google-services.json, votre ID d'application correspond à la valeur mobilesdk_app_id.
Dans la console Firebase, accédez à vos Paramètres du projet.
Faites défiler la page jusqu'à la fiche Vos applications, puis cliquez sur l'application Firebase de votre choix pour trouver son ID.
PATH/TO/SYMBOLS : chemin d'accès au fichier de symboles généré par l'interface de ligne de commande
Exporté vers un projet Android Studio : PATH/TO/SYMBOLS est le répertoire unityLibrary/symbols, qui est créé dans la racine du projet exporté après la compilation de l'application via Gradle ou Android Studio.
Vous avez créé l'APK directement dans Unity : PATH/TO/SYMBOLS correspond au chemin d'accès du fichier de symboles compressé généré dans le répertoire racine du projet une fois la compilation terminée (par exemple, myproject/myapp-1.0-v100.symbols.zip).
Afficher les options avancées pour utiliser la commande CLI Firebase afin de générer et d'importer des fichiers de symboles
Option
Description
--generator=csym
Utilise l'ancien générateur de fichiers de symboles cSYM au lieu du générateur Breakpad par défaut.
L'utilisation n'est pas recommandée. Nous vous recommandons d'utiliser le générateur de fichiers de symboles Breakpad par défaut.
--generator=breakpad
Utilise le générateur de fichiers de symboles Breakpad
Notez que Breakpad est le paramètre par défaut pour la génération de fichiers de symboles.
N'utilisez cette option que si vous avez ajouté symbolGenerator { csym() } dans votre configuration de compilation et que vous souhaitez la remplacer par Breakpad.
--dry-run
Génère les fichiers de symboles, mais ne les importe pas
Ce flag est utile si vous souhaitez inspecter le contenu des fichiers envoyés.
--debug
Fournit des informations de débogage supplémentaires
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/11 (UTC).
[null,null,["Dernière mise à jour le 2025/08/11 (UTC)."],[],[],null,["# Get readable crash reports in the Crashlytics dashboard\n\n\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--------------------------------------------------------------------\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---------------------------------\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------------------------------------\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-----------------\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\n### Manually 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."]]