Tester votre implémentation Crashlytics


Forcer un plantage pour tester votre implémentation

  1. Ajoutez à votre application du code que vous pouvez utiliser pour forcer un plantage test.

    Vous pouvez utiliser le code suivant pour ajouter à votre application un bouton qui, lorsque , ce qui entraîne un plantage. Le bouton est intitulé "Tester un plantage".

    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
    
  2. Créez et exécutez votre application dans Xcode avec le débogueur Xcode déconnecté.

    1. Cliquez sur Build and then run the current scheme (Créer, puis exécuter le schéma actuel) pour créer votre application sur un appareil de test ou un simulateur.

    2. Attendez que l'application s'exécute, puis cliquez sur Arrêter d'exécuter le schéma pour fermer l'instance initiale de votre application. Cette initiale l'instance comprenait le débogueur qui interfère avec Crashlytics.

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

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

    2. Dans votre application, appuyez sur le bouton "Tester le plantage" 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 qu'elle puisse envoyer le rapport d'erreur à 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 le plantage du test ne s'affiche toujours pas au bout de cinq minutes, essayez d'activer la journalisation de débogage (section suivante).

Activer la journalisation du débogage pour Crashlytics

Si le plantage de votre test ne s'affiche pas dans le tableau de bord Crashlytics, vous pouvez utiliser le journal de débogage pour Crashlytics afin de vous aider à identifier le problème.

  1. Activez la journalisation des données de débogage:

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

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

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

  2. Forcez un test de plantage. La première section de cette page explique 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 ni le plantage de votre test dans le tableau de bord Crashlytics de la console Firebase au bout de cinq minutes, contactez l'assistance Firebase avec une copie de votre sortie de journal afin que nous puissions vous aider à résoudre le problème.

Étapes suivantes