Forçar uma falha para testar sua implementação
Adicione 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 é denominado "Test Crash".
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UI Kit
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] } }
Objetivo-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 com o depurador Xcode desconectado.
Clique em
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 do seu aplicativo. Esta instância inicial incluía o depurador que interfere no Crashlytics.
Force a falha do 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.
No seu aplicativo, pressione o botão "Test Crash" que você adicionou usando o código acima.
Depois que seu aplicativo travar, 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 teste.
Se você atualizou o console e ainda não vê a falha do teste após cinco minutos, tente ativar o log de depuração (próxima seção).
Habilitar registro de depuração para Crashlytics
Se você não vir a falha do teste no painel do Crashlytics, poderá usar o registro de depuração do Crashlytics para ajudar a rastrear o problema.
Habilite o registro de depuração:
No Xcode, selecione Produto > Esquema > Editar esquema .
Selecione Executar no menu esquerdo e selecione a guia Argumentos .
Na seção Argumentos passados na inicialização , adicione
-FIRDebugEnabled
.
Forçar uma falha de teste. A primeira seção desta página descreve como fazer isso.
Nos seus registros, procure uma mensagem de registro do Crashlytics que contenha a string a seguir, que verifica se o seu aplicativo está enviando falhas ao Firebase.
Completed report submission
Se você não vir esse log ou a falha do 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 ajudar você a solucionar problemas.
Próximos passos
- Personalize a configuração do seu relatório de falhas adicionando relatórios opcionais, registros, chaves e rastreamento de erros não fatais.