Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Metti alla prova la tua implementazione di Crashlytics

Forzare un arresto anomalo per testare l'implementazione

Non devi aspettare un incidente per sapere che Crashlytics funziona. Puoi utilizzare l'SDK per forzare un arresto anomalo aggiungendo il seguente codice alla tua app:

veloce

 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("Crash", for: [])
        button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
        view.addSubview(button)
    }

    @IBAction func crashButtonTapped(_ sender: AnyObject) {
        fatalError()
    }
}
 

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:@"Crash" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(crashButtonTapped:)
        forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
}

- (IBAction)crashButtonTapped:(id)sender {
    assert(NO);
}

@end
 

Per testare l'implementazione, premi il pulsante nella tua app per forzare l'arresto anomalo, quindi riapri l'app in modo che Crashlytics possa inviare il rapporto sugli arresti anomali a Firebase. Potrebbero essere necessari fino a cinque minuti affinché il rapporto venga visualizzato nella console di Firebase .

Modifica le impostazioni di debug del tuo progetto

Crashlytics non può catturare arresti anomali se la tua build allega un debugger all'avvio. Modifica le impostazioni di compilazione per modificare il formato delle informazioni di debug del progetto:

  1. Con il progetto ancora selezionato in Xcode Navigator, apri la scheda Impostazioni build .
  2. Fai clic su Tutto nella parte superiore della scheda per visualizzare tutte le impostazioni di creazione.
  3. Cerca "formato informazioni debug".
  4. Impostare l'impostazione Formato informazioni debug su DWARF con il file dSYM .

Provalo

Lo snippet di codice sopra aggiunge un pulsante che blocca l'app quando viene premuto. Perché funzioni, esegui l'app senza un debugger:

  1. Fai clic su Build, quindi esegui lo schema corrente in Xcode per creare la tua app su un dispositivo o un simulatore.
  2. Fai clic su Interrompi l'esecuzione dello schema o dell'azione in Xcode per chiudere l'istanza iniziale dell'app. Questa istanza iniziale include un debugger che interferisce con Crashlytics.
  3. Apri di nuovo la tua app dal simulatore o dal dispositivo.
  4. Tocca Arresto anomalo per bloccare l'app.
  5. Apri di nuovo l'app per consentire all'API di Crashlytics di segnalare l'arresto anomalo. L'arresto anomalo dovrebbe comparire nella console di Firebase entro 5 minuti.

Abilita registrazione debug di Crashlytics

Se il crash forzato non si è arrestato in modo anomalo, si è arrestato in modo anomalo prima che lo desiderassi o se riscontri altri problemi con Crashlytics, puoi abilitare la registrazione del debug di Crashlytics per rintracciare il problema.

Per abilitare la registrazione debug sul dispositivo di sviluppo, specificare il seguente argomento della riga di comando in Xcode:

-FIRDebugEnabled

Prossimi passi

  • Personalizza i rapporti sugli arresti anomali: Crashlytics avvia automaticamente la raccolta dei rapporti sugli arresti anomali non appena aggiungi l'SDK, ma puoi anche personalizzare la tua configurazione aggiungendo rapporti di attivazione, registri, chiavi e persino il monitoraggio degli errori non fatali.