Check out what’s new from Firebase at Google I/O 2022. Learn more

Testar a implementação do Crashlytics

Forçar a ocorrência de um erro para testar sua implementação

  1. 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".

    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
    
  2. Crie e execute o app no Xcode. Siga as etapas a seguir para garantir que seu dispositivo ou simulador de teste esteja desconectado do depurador do Xcode, que interfere no Crashlytics.

    1. Clique em Build and then run the current scheme para criar seu app em um dispositivo de teste ou simulador.

    2. 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.

  3. Force a falha de teste para enviar o primeiro relatório de erros do app:

    1. Abra o app na tela inicial do dispositivo de teste ou do simulador.

    2. No app, pressione o botão "Testar falha" que você adicionou usando o código acima.

    3. Depois que o app falhar, execute-o novamente no Xcode para que ele possa enviar o relatório de falhas ao Firebase.

  4. Acesse o painel do Crashlytics no Console do Firebase para ver 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.

  1. Ative a geração de registros de depuração:

    1. No Xcode, selecione Product > Scheme > Edit scheme.

    2. Selecione Run no menu à esquerda e depois a guia Arguments.

    3. Na seção Arguments Passed On Launch, adicione -FIRDebugEnabled.

  2. Forçar uma falha de teste. A primeira seção desta página descreve como fazer isso.

  3. 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