Prueba tu implementación de Crashlytics

Fuerza una falla para probar tu implementación

  1. Agrega código a tu app para forzar una falla de prueba.

    Puedes usar el siguiente código para agregar un botón a tu app que, cuando se presione, cause una falla. El botón tiene la etiqueta “Test Crash”.

    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
    
  2. Compila y ejecuta tu app en Xcode con el depurador de Xcode desconectado.

    1. Haz clic en Build and then run the current scheme para compilar la app en un dispositivo de prueba o simulador.

    2. Espera hasta que la app esté en ejecución y, luego, haz clic en Stop running the scheme or action para cerrar la instancia inicial. Esta instancia inicial incluía el depurador que interfiere en Crashlytics.

  3. Fuerza la falla de prueba para enviar el primer informe de fallas de la app, de la siguiente manera:

    1. Abre la app desde la pantalla principal del dispositivo o simulador.

    2. En tu app, presiona el botón “Test Crash” que agregaste con el código anterior.

    3. Cuando tu app falle, vuelve a ejecutarla desde Xcode para que pueda enviar el informe de fallas a Firebase.

  4. Ve al panel de Crashlytics en Firebase console para ver la falla de prueba.

Si actualizaste la consola y sigues sin poder ver la falla de prueba después de cinco minutos, intenta habilitar el registro de depuración (sección siguiente).

Habilita el registro de depuración para Crashlytics

Si no ves tu falla de prueba en el panel de Crashlytics, puedes usar el registro de depuración de Crashlytics para encontrar el problema con más facilidad.

  1. Habilita el registro de depuración:

    1. En Xcode, selecciona Product > Scheme > Edit scheme.

    2. Selecciona Run en el menú de la izquierda y, luego, selecciona la pestaña Arguments.

    3. En la sección Arguments Passed On Launch, agrega -FIRDebugEnabled.

  2. Fuerza una falla de prueba. En la primera sección de esta página, se describe cómo hacerlo.

  3. Dentro de los registros, busca un mensaje de registro de Crashlytics que contenga la siguiente string, que verifica que la app envía fallas a Firebase.

    Completed report submission

Si no ves este registro o tu falla de prueba en el panel de Crashlytics de Firebase console después de cinco minutos, comunícate con la Asistencia de Firebase y envía una copia de la salida del registro para que podamos ayudarte a solucionar mejor el problema.

Próximos pasos