Forçar uma falha para testar sua implementação
Adicione um código ao seu aplicativo que você pode usar para forçar uma falha de teste.
Você pode usar o código a seguir para adicionar um botão ao seu aplicativo que, quando pressionado, causa uma falha. O botão é rotulado como "Test Crash".
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UIKit
Rápido
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
Crie e execute seu aplicativo no Xcode.
Clique
Build e execute o esquema atual para criar seu aplicativo em um dispositivo de teste ou simulador.Aguarde até que seu aplicativo esteja em execução e clique em
Parar de executar o esquema ou ação para fechar a instância inicial de seu aplicativo. Essa instância inicial incluía o depurador que interfere no Crashlytics.
Force a falha de teste para enviar o primeiro relatório de falha do seu aplicativo:
Abra seu aplicativo na tela inicial do seu dispositivo de teste ou simulador.
Em seu aplicativo, pressione o botão "Test Crash" que você adicionou usando o código acima.
Depois que seu aplicativo falhar, execute-o novamente no Xcode para que seu aplicativo possa enviar o relatório de falha ao Firebase.
Acesse o painel do Crashlytics do console do Firebase para ver a falha do seu teste.
Se você atualizou o console e ainda não está vendo o travamento do teste após cinco minutos, tente habilitar o log de depuração (próxima seção).
Ativar registro de depuração para Crashlytics
Se você não vir sua falha de teste no painel do Crashlytics, poderá usar o log de depuração do Crashlytics para ajudar a rastrear o problema.
Ativar log de depuração:
No Xcode, selecione Produto > Esquema > Editar esquema .
Selecione Executar no menu à esquerda e selecione a guia Argumentos .
Na seção Arguments Passed on Launch , adicione
-FIRDebugEnabled
.
Forçar uma falha de teste. A primeira seção desta página descreve como fazer isso.
Em seus logs, procure uma mensagem de log do Crashlytics que contenha a string a seguir, que verifica se seu aplicativo está enviando falhas para o Firebase.
Completed report submission
Se você não vir esse log ou sua falha de teste no painel do Crashlytics do console do Firebase após cinco minutos, entre em contato com o suporte do Firebase com uma cópia da saída do log para que possamos ajudá-lo a solucionar o problema.
Próximos passos
- Personalize a configuração do relatório de travamento adicionando relatórios opcionais, logs, chaves e rastreamento de erros não fatais.