| Seleziona la piattaforma: | iOS+ Android Flutter Unity |
Utilizza questa guida se hai seguito la guida introduttiva e non visualizzi ancora arresti anomali nella dashboard Crashlytics.
Forzare un arresto anomalo per testare l'implementazione
Aggiungi alla tua app un codice che puoi utilizzare per forzare un arresto anomalo di test.
Puoi utilizzare il seguente codice per aggiungere alla tua app un pulsante che, una volta premuto, causa un arresto anomalo. Il pulsante è etichettato "Test 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
Crea ed esegui l'app in Xcode con il debugger Xcode disconnesso.
Fai clic su Build (Crea) e poi Run the current scheme (Esegui lo schema attuale) per creare la tua app su un dispositivo di test o su un simulatore.
Attendi che l'app sia in esecuzione, poi fai clic su Interrompi l'esecuzione dello schema o dell'azione per chiudere l'istanza iniziale dell'app. Questa istanza iniziale includeva il debugger che interferisce con Crashlytics.
Forza l'arresto anomalo del test per inviare il primo report sugli arresti anomali della tua app:
Apri l'app dalla schermata Home del dispositivo di test o del simulatore.
Nell'app, premi il pulsante "Test Crash" che hai aggiunto utilizzando il codice sopra.
Dopo l'arresto anomalo dell'app, eseguila di nuovo da Xcode in modo che possa inviare il report sugli arresti anomali a Firebase.
Nella console Firebase, vai a DevOps e coinvolgimento > Crashlytics dashboard per verificare la presenza del report sull'arresto anomalo del test.
Se hai aggiornato la console e dopo cinque minuti ancora non vedi l'arresto anomalo di prova, prova ad attivare la registrazione di debug (sezione successiva).
Attiva il logging di debug per Crashlytics
Se non vedi l'arresto anomalo del test nella dashboard Crashlytics, puoi utilizzare la registrazione di debug per Crashlytics per aiutarti a individuare il problema.
Attiva il logging del debug:
In Xcode, seleziona Product > Scheme > Edit scheme (Prodotto > Schema > Modifica schema).
Seleziona Run (Esegui) dal menu a sinistra, poi la scheda Arguments (Argomenti).
Nella sezione Arguments Passed on Launch (Argomenti passati al momento dell'avvio), aggiungi
-FIRDebugEnabled.
Forzare un arresto anomalo di test. La prima sezione di questa pagina descrive come farlo.
Nei log, cerca un messaggio di log di Crashlytics che contenga la seguente stringa, che verifica che la tua app invii gli arresti anomali a Firebase.
Completed report submission
Se dopo cinque minuti non vedi ancora questo log o il test si arresta in modo anomalo nella dashboard DevOps e coinvolgimento > Crashlytics della console Firebase, contatta l'assistenza Firebase con una copia dell'output del log per consentirci di aiutarti a risolvere ulteriormente il problema.
Passaggi successivi
- Personalizza la configurazione dei report sugli arresti anomali aggiungendo report con consenso esplicito, log, chiavi e monitoraggio degli errori non irreversibili.