Tester votre implémentation de Crashlytics (plates-formes Apple)

Sélectionnez une plate-forme : iOS+ Android Flutter Unity


Utilisez ce guide si vous avez suivi le guide de démarrage et que vous ne voyez toujours pas de plantages dans le tableau de bord Crashlytics.

Forcer un plantage pour tester votre implémentation

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

    Vous pouvez utiliser le code suivant pour ajouter à votre application un bouton 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
  2. Créez et exécutez votre application dans Xcode avec le débogueur Xcode déconnecté.

    1. Cliquez sur Build (Compiler), puis Run the current scheme (Exécuter le schéma actuel) pour compiler 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 inclut le débogueur qui interfère avec Crashlytics.

  3. Forcez le plantage du test afin d'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 "Test Crash" que vous avez ajouté à l'aide du code ci-dessus.

    3. Une fois que votre application a planté, exécutez-la à nouveau depuis Xcode pour qu'elle puisse envoyer le rapport d'erreur à Firebase.

  4. Dans la consoleFirebase, accédez à DevOps et engagement > Tableau de bord Crashlytics pour vérifier si votre rapport d'erreur de test est disponible.

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

Activer la journalisation du débogage pour Crashlytics

Si votre plant de test ne s'affiche pas dans le tableau de bord Crashlytics, vous pouvez utiliser la journalisation 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 > Scheme > Edit scheme (Produit > Schéma > Modifier le schéma).

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

    3. Dans la section Arguments Passed on Launch (Arguments transmis au lancement), ajoutez -FIRDebugEnabled.

  2. Forcez un plantage de test. 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 les plantages à Firebase.

    Completed report submission

Si, au bout de cinq minutes, vous ne voyez toujours pas ce journal ou votre plantage de test dans le tableau de bord DevOps et engagement > Crashlytics de la console Firebase, contactez l'assistance Firebase en joignant une copie de la sortie de votre journal afin que nous puissions vous aider à résoudre le problème.

Étapes suivantes