| Sélectionnez une plate-forme : | iOS+ Android Android NDK Flutter Unity |
Ce guide explique comment utiliser Firebase Crashlytics dans votre application pour les plates-formes Apple (par exemple, une application iOS).
Une fois que vous avez configuré le SDK Firebase Crashlytics dans votre application, vous pouvez obtenir des rapports d'erreur complets dans la console Firebase. Avec Crashlytics pour les plates-formes Apple, vous recevez des rapports sur les plantages et les erreurs non fatales.
Prompt d'IA pour l'assistance IA
Pour obtenir l'assistance de l'IA, copiez le prompt ci-dessous dans votre agent de codage IA (comme Antigravity, Claude Code, Codex et Cursor). Vous pouvez personnaliser la requête et l'affiner avec votre agent. Pour obtenir des instructions d'installation détaillées, consultez Compétences d'agent Firebase.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up Firebase Crashlytics for my app.
Avant de commencer
La configuration de Crashlytics nécessite des tâches à la fois dans la console Firebase et dans votre IDE (comme l'ajout d'un fichier de configuration Firebase et du SDK Crashlytics). Pour terminer la configuration, vous devez forcer un plantage de test afin d'envoyer votre premier rapport d'erreur à Firebase.
Si ce n'est pas déjà fait, ajoutez Firebase à votre projet Apple. Si vous n'avez pas d'application Apple, vous pouvez télécharger un exemple d'application.
Recommandé : Pour obtenir automatiquement des journaux du fil d'Ariane afin de comprendre les actions des utilisateurs ayant conduit à un plantage ou à un événement non fatal, vous devez activer Google Analytics dans votre projet Firebase.
S'il s'agit d'un nouveau projet Firebase, activez Google Analytics pendant que vous le créez.
Si vous utilisez un projet Firebase existant où Google Analytics n'est pas activé, vous pouvez l'activer sur la page
Paramètres > Intégrations de la console Firebase.
Notez que les journaux du fil d'Ariane sont disponibles pour toutes les plates-formes Apple compatibles avec Crashlytics, à l'exception de watchOS.
Étape 1 : Ajoutez le SDK Crashlytics à votre application
Utilisez Swift Package Manager pour installer et gérer les dépendances Firebase.
- Dans Xcode, à partir de votre projet d'application ouvert, accédez à File > Add Packages (Fichier > Ajouter des packages).
- Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :
- Choisissez la bibliothèque Crashlytics.
- Pour profiter des journaux du fil d'Ariane, ajoutez également le SDK Firebase pour Google Analytics à votre application. Assurez-vous que Google Analytics est activé dans votre projet Firebase.
- Ajoutez l'option
-ObjCà la section Other Linker Flags (Autres options de l'éditeur de liens) des paramètres de compilation de votre cible. - (macOS uniquement) Dans votre
Info.plist, ajoutez la cléNSApplicationCrashOnExceptionset définissez-la surYES. - Lorsque vous avez terminé, Xcode commence à résoudre et à télécharger automatiquement vos dépendances en arrière-plan.
https://github.com/firebase/firebase-ios-sdk.git
Ensuite, configurez le module Firebase :
Importez le module Firebase dans votre
Appstruct ouUIApplicationDelegate:Swift
import Firebase
Objective-C
@import Firebase;
Configurez une instance partagée
FirebaseApp, généralement dans la méthodeapplication(_:didFinishLaunchingWithOptions:)du délégué de votre application :Swift
// Use the Firebase library to configure APIs. FirebaseApp.configure()
Objective-C
// Use the Firebase library to configure APIs. [FIRApp configure];
Étape 2 : Configurez Xcode pour importer automatiquement les fichiers dSYM
Pour générer des rapports d'erreur lisibles par l'humain, Crashlytics a besoin des fichiers de symboles de débogage (dSYM) de votre projet. Les étapes suivantes décrivent comment configurer Xcode pour qu'il produise automatiquement vos dSYM, les traite et importe les fichiers chaque fois que vous compilez votre application.
Ouvrez l'espace de travail Xcode de votre projet, puis sélectionnez son fichier de projet dans le navigateur de gauche.
Dans la liste TARGETS (CIBLES), sélectionnez votre cible de compilation principale.
Cliquez sur l'onglet Build Settings (Paramètres de compilation), puis suivez les étapes ci-dessous pour que Xcode génère des dSYM pour vos compilations.
Cliquez sur Tous, puis recherchez
debug information format.Définissez Debug Information Format (Format des informations de débogage) sur
DWARF with dSYM Filepour tous vos types de compilation.
Cliquez sur l'onglet Build Phases (Phases de compilation), puis suivez les étapes ci-dessous pour que Xcode puisse traiter vos fichiers dSYM et les importer.
Cliquez sur > New Run Script Phase (Nouvelle phase d'exécution de script).
Assurez-vous que cette nouvelle phase Run Script (Exécuter le script) est la dernière phase de compilation de votre projet. Sinon, Crashlytics ne pourra pas traiter correctement les dSYM.
Développez la nouvelle section Exécuter le script.
Dans le champ de script (situé sous l'étiquette Shell), ajoutez le script d'exécution suivant.
Ce script traite les fichiers dSYM de votre projet et les importe dans Crashlytics.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"Dans la section Fichiers d'entrée, ajoutez les chemins d'accès aux emplacements des fichiers suivants :
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
Si vous avez$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESetENABLE_DEBUG_DYLIB=YESdans les paramètres de compilation de votre projet, incluez les éléments suivants :${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
Pour en savoir plus sur les fichiers dSYM et Crashlytics (y compris sur l'importation manuelle des fichiers dSYM), consultez Obtenir des rapports d'erreur désobscurcis.
Étape 3 : Forcez un plantage de test pour terminer la configuration
Pour terminer la configuration de Crashlytics et afficher les données initiales dans le tableau de bord Crashlytics de la console Firebase, vous devez forcer un plantage de test.
Ajoutez du code à votre application pour forcer un plantage de test.
Vous pouvez utiliser le code suivant pour ajouter un bouton à votre application qui, lorsqu'il est enfoncé, provoque un plantage. Le bouton est intitulé "Test Crash".
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UIKit
Swift
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let button = UIButton(type: .roundedRect) button.frame = CGRect(x: 20, y: 50, width: 100, height: 30) button.setTitle("Test Crash", for: []) button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside) view.addSubview(button) } @IBAction func crashButtonTapped(_ sender: AnyObject) { let numbers = [0] let _ = numbers[1] } }
Objective-C
#import "ViewController.h" @implementation ViewController ‐ (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(20, 50, 100, 30); [button setTitle:@"Test Crash" forState:UIControlStateNormal]; [button addTarget:self action:@selector(crashButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; } ‐ (IBAction)crashButtonTapped:(id)sender { @[][1]; } @end
Créez et exécutez votre application dans Xcode avec le débogueur Xcode déconnecté.
Cliquez sur Build and then run the current scheme (Compiler, puis exécuter le schéma actuel) pour compiler votre application sur un appareil de test ou un simulateur.
Attendez que votre application s'exécute, puis cliquez sur Stop running the scheme or action (Arrêter l'exécution du schéma ou de l'action) pour fermer l'instance initiale de votre application. Cette instance initiale incluait le débogueur qui interfère avec Crashlytics.
Forcez le plantage de test pour envoyer le premier rapport d'erreur de votre application :
Ouvrez votre application depuis l'écran d'accueil de votre appareil de test ou de votre simulateur.
Dans votre application, appuyez sur le bouton "Test Crash" (Tester le plantage) que vous avez ajouté à l'aide du code ci-dessus.
Une fois que votre application a planté, exécutez-la à nouveau depuis Xcode pour qu'elle puisse envoyer le rapport d'erreur à Firebase.
Dans la console Firebase, accédez au tableau de bord DevOps et engagement > Crashlytics pour vérifier votre rapport d'erreur de test.
Si vous avez actualisé la console et que vous ne voyez toujours pas le plantage de test après cinq minutes, activez la journalisation de débogage pour voir si votre application envoie des rapports d'erreur.
C'est tout ! Crashlytics surveille désormais les plantages de votre application. Accédez au tableau de bord Crashlytics pour afficher et examiner tous vos rapports et statistiques.
Étapes suivantes
Personnalisez la configuration de vos rapports d'erreur en ajoutant des rapports d'activation, des journaux, des clés et le suivi des erreurs non fatales.
Exportez vos données vers BigQuery ou Cloud Logging pour bénéficier d'analyses et de fonctionnalités avancées, comme l'interrogation de vos données, la création de tableaux de bord personnalisés et la configuration d'alertes personnalisées.