Forçar a ocorrência de um erro para testar sua implementação
Adicione um código ao app que possa ser usado para forçar uma falha no teste.
É possível usar o código a seguir para adicionar um botão ao seu app que, quando pressionado, causa uma falha. O botão é chamado de "Testar falha".
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
Crie e execute o app no Xcode com o depurador do Xcode desconectado.
Clique em
Build and then run the current scheme para criar seu app em um dispositivo de teste ou simulador.Aguarde até que o app esteja em execução e clique em
Stop running the scheme or action para fechar a instância inicial do app. Essa instância inicial incluía o depurador que interfere no Crashlytics.
Force a falha de teste para enviar o primeiro relatório de erros do app:
Abra o app na tela inicial do dispositivo de teste ou do simulador.
No app, pressione o botão "Testar falha" que você adicionou usando o código acima.
Depois que o app falhar, execute-o novamente no Xcode para que ele possa enviar o relatório de falhas ao Firebase.
Acesse o painel do Crashlytics no Console do Firebase para conferir a falha do teste.
Se você atualizou o console, mas a falha de teste ainda não foi exibida após cinco minutos, tente ativar o registro de depuração (próxima seção).
Ativar a geração de registros de depuração para o Crashlytics
Se a falha de teste não aparecer no painel do Crashlytics, use a geração de registros de depuração para ajudar a rastrear o problema.
Ative a geração de registros de depuração:
No Xcode, selecione Product > Scheme > Edit scheme.
Selecione Run no menu à esquerda e depois a guia Arguments.
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.
Nos registros, procure uma mensagem de registro do Crashlytics que contenha a string a seguir, que verifica se o app está enviando falhas ao Firebase.
Completed report submission
Se o registro ou a falha de teste não aparecer no painel do Crashlytics do Console do Firebase após cinco minutos, entre em contato com o Suporte do Firebase com uma cópia do registro para que possamos ajudar a resolver esse problema.
Próximas etapas
- Para personalizar a configuração do relatório de erros, adicione relatórios de ativação, registros, chaves e rastreamento de erros não fatais.