Catch up on highlights from Firebase at Google I/O 2023. Learn more

Testez votre implémentation de Crashlytics

Forcer un plantage pour tester votre implémentation

  1. Ajoutez du code à votre application que vous pouvez utiliser 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 étiqueté "Test Crash".

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    Rapide

    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]
      }
    }
    

    Objectif 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
    
  2. Créez et exécutez votre application dans Xcode.

    1. Cliquez sur Build, puis exécutez le schéma actuel pour créer votre application sur un appareil de test ou un simulateur.

    2. Attendez que votre application soit en cours d'exécution, puis cliquez sur 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.

  3. Forcez le plantage du test afin d'envoyer le premier rapport de plantage de votre application :

    1. Ouvrez votre application depuis l'écran d'accueil de votre appareil de test ou simulateur.

    2. Dans votre application, appuyez sur le bouton "Test Crash" que vous avez ajouté à l'aide du code ci-dessus.

    3. Après le plantage de votre application, exécutez-la à nouveau à partir de Xcode afin que votre application puisse envoyer le rapport de plantage à Firebase.

  4. Accédez au tableau de bord Crashlytics de la console Firebase pour voir votre plantage de test.

Si vous avez actualisé la console et que vous ne voyez toujours pas le plantage du test après cinq minutes, essayez d'activer la journalisation de débogage (section suivante).

Activer la journalisation de débogage pour Crashlytics

Si vous ne voyez pas votre test planter dans le tableau de bord Crashlytics, vous pouvez utiliser la journalisation de débogage pour Crashlytics pour vous aider à localiser le problème.

  1. Activer la journalisation de débogage :

    1. Dans Xcode, sélectionnez Produit > Schéma > Modifier le schéma .

    2. Sélectionnez Exécuter dans le menu de gauche, puis sélectionnez l'onglet Arguments .

    3. Dans la section Arguments transmis au lancement , ajoutez -FIRDebugEnabled .

  2. Forcer un plantage de test. La première section de cette page décrit comment procéder.

  3. Dans vos journaux, recherchez un message de journal de Crashlytics contenant la chaîne suivante, qui vérifie que votre application envoie des plantages à Firebase.

    Completed report submission

Si vous ne voyez pas ce journal ou si votre test se bloque dans le tableau de bord Crashlytics de la console Firebase après cinq minutes, contactez l'assistance Firebase avec une copie de la sortie de votre journal afin que nous puissions vous aider à résoudre le problème.

Prochaines étapes