Forzare un arresto anomalo per testare l'implementazione
Aggiungi alla tua app del codice che puoi utilizzare per forzare un arresto anomalo del 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
Crea ed esegui l'app in Xcode con il debugger di Xcode scollegato.
Fai clic su
Compila ed esegui lo schema corrente per compilare l'app su un dispositivo di test o un simulatore.Attendi che l'app sia in esecuzione, quindi fai clic su Crashlytics.
Interrompi l'esecuzione dello schema o dell'azione per chiudere l'istanza iniziale dell'app. Questa istanza iniziale includeva il debugger che interferisce con
Forza l'arresto anomalo di 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 di arresto anomalo" che hai aggiunto utilizzando il codice sopra riportato.
Dopo che l'app si arresta in modo anomalo, eseguila di nuovo da Xcode in modo che possa inviare il report sugli arresti anomali a Firebase.
Vai alla dashboard Crashlytics della console Firebase per visualizzare l'errore di arresto anomalo del test.
Se hai aggiornato la console e dopo cinque minuti il test continua a non generare un arresto anomalo, prova ad attivare la registrazione di log di debug (sezione successiva).
Attiva il logging di debug per Crashlytics
Se non visualizzi l'arresto anomalo del test nella dashboard di Crashlytics, puoi utilizzare la registrazione di debug per Crashlytics per aiutarti a individuare il problema.
Attiva il logging di debug:
In Xcode, seleziona Prodotto > Schema > Modifica schema.
Seleziona Esegui dal menu a sinistra e poi la scheda Argomenti.
Nella sezione Arguments Passed on Launch (Argomenti passati al momento dell'avvio), aggiungi
-FIRDebugEnabled
.
Forzare un arresto anomalo del test. La prima sezione di questa pagina descrive come procedere.
Nei log, cerca un messaggio di log di Crashlytics che contenga la seguente stringa, che verifica che la tua app stia inviando arresti anomali a Firebase.
Completed report submission
Se non vedi questo log o se il test si arresta in modo anomalo nella dashboardCrashlytics della console Firebase dopo cinque minuti, contatta l'assistenza Firebase inviando 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, log, chiavi e monitoraggio degli errori non fatali che puoi attivare.