Testare l'implementazione di Crashlytics


Forzare un arresto anomalo per testare l'implementazione

  1. Aggiungi alla tua app codice da utilizzare per forzare un arresto anomalo di test.

    Puoi utilizzare il seguente codice per aggiungere un pulsante alla tua app che, se premuto, causa un arresto anomalo. Il pulsante è etichettato come "Test di arresto anomalo".

    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. Crea ed esegui la tua app in Xcode con il debugger Xcode disconnesso.

    1. Fai clic su Crea e poi eseguire lo schema attuale per creare l'app su un dispositivo di test simulatore.

    2. Attendi che l'app sia in esecuzione e fai clic su Interrompi l'esecuzione dello schema o per chiudere l'istanza iniziale dell'app. Questa iniziale includeva il debugger che interferisce con Crashlytics.

  3. Forza l'arresto anomalo del test per inviare il primo report sugli arresti anomali della tua app:

    1. Apri l'app dalla schermata Home del dispositivo di test o del simulatore.

    2. Nell'app, premi il pulsante "Test arresto anomalo" che hai aggiunto utilizzando il codice in alto.

    3. Dopo l'arresto anomalo dell'app, eseguila di nuovo da Xcode in modo che l'app possa invia il report sugli arresti anomali a Firebase.

  4. Vai alla dashboard Crashlytics della console Firebase per visualizzare l'errore di arresto anomalo del test.

Se hai aggiornato la console e ancora non vedi l'arresto anomalo del test dopo cinque minuti, prova ad attivare il logging di debug (sezione successiva).

Attiva il logging di debug per Crashlytics

Se non vedi l'arresto anomalo di test nella dashboard di Crashlytics, puoi Utilizza il logging di debug per Crashlytics per individuare il problema.

  1. Attiva il logging di debug:

    1. In Xcode, seleziona Product > (Prodotto > Schema > Modifica schema.

    2. Seleziona Esegui nel menu a sinistra, quindi seleziona la scheda Argomenti.

    3. Nella sezione Argomenti passati all'avvio, aggiungi -FIRDebugEnabled.

  2. Forza un arresto anomalo di test. Nella prima sezione di questa pagina viene descritto come fare.

  3. All'interno dei tuoi log, cerca un messaggio di log di Crashlytics che contiene la seguente stringa, che verifica che l'app stia inviando ha un arresto anomalo su Firebase.

    Completed report submission

Se non vedi questo log o l'arresto anomalo del test nella dashboard di Crashlytics della console Firebase dopo cinque minuti, contatta Assistenza Firebase con una copia l'output del log per consentirci di aiutarti ulteriormente.

Passaggi successivi