Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Teste sua implementação do Crashlytics

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Forçar uma falha para testar sua implementação

  1. 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
    
  2. Crie e execute seu aplicativo no Xcode.

    1. Clique Build e execute o esquema atual para criar seu aplicativo em um dispositivo de teste ou simulador.

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

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

    1. Abra seu aplicativo na tela inicial do seu dispositivo de teste ou simulador.

    2. Em seu aplicativo, pressione o botão "Test Crash" que você adicionou usando o código acima.

    3. Depois que seu aplicativo falhar, execute-o novamente no Xcode para que seu aplicativo possa enviar o relatório de falha ao Firebase.

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

  1. Ativar log de depuração:

    1. No Xcode, selecione Produto > Esquema > Editar esquema .

    2. Selecione Executar no menu à esquerda e selecione a guia Argumentos .

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