Przetestuj swoją implementację Crashlytics

Wymuś awarię, aby przetestować implementację

  1. Dodaj do aplikacji kod, którego możesz użyć do wymuszenia awarii testowej.

    Możesz użyć poniższego kodu, aby dodać do aplikacji przycisk, który po naciśnięciu powoduje awarię. Przycisk jest oznaczony jako „Test Crash”.

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    Szybki

    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]
      }
    }
    

    Cel 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. Twórz i uruchamiaj swoją aplikację w Xcode.

    1. Kliknij , a następnie uruchom bieżący schemat, aby zbudować swoją aplikację na urządzeniu testowym lub symulatorze.

    2. Poczekaj, aż aplikacja będzie działać, a następnie kliknij przycisk Zatrzymaj uruchamianie schematu lub akcji, aby zamknąć początkową instancję aplikacji. Ta początkowa instancja zawierała debugger, który koliduje z Crashlytics.

  3. Wymuś awarię testową, aby wysłać pierwszy raport o awarii aplikacji:

    1. Otwórz aplikację z ekranu głównego urządzenia testowego lub symulatora.

    2. W swojej aplikacji naciśnij przycisk „Przetestuj awarię”, który został dodany za pomocą powyższego kodu.

    3. Po awarii aplikacji uruchom ją ponownie z Xcode, aby aplikacja mogła wysłać raport o awarii do Firebase.

  4. Przejdź do panelu Crashlytics w konsoli Firebase, aby zobaczyć awarię testu.

Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testu po pięciu minutach, spróbuj włączyć rejestrowanie debugowania (następna sekcja).

Włącz rejestrowanie debugowania dla Crashlytics

Jeśli nie widzisz awarii testowej na pulpicie nawigacyjnym Crashlytics, możesz użyć rejestrowania debugowania dla Crashlytics, aby pomóc w wyśledzeniu problemu.

  1. Włącz rejestrowanie debugowania:

    1. W Xcode wybierz Produkt > Schemat > Edytuj schemat .

    2. Wybierz Uruchom z lewego menu, a następnie wybierz kartę Argumenty .

    3. W sekcji Argumenty przekazane podczas uruchamiania dodaj -FIRDebugEnabled .

  2. Wymuś awarię testową. Pierwsza sekcja na tej stronie opisuje, jak to zrobić.

  3. W swoich dziennikach wyszukaj komunikat dziennika z Crashlytics zawierający następujący ciąg, który potwierdza, że ​​aplikacja wysyła awarie do Firebase.

    Completed report submission

Jeśli po pięciu minutach nie widzisz tego dziennika lub awarii testu w panelu Crashlytics konsoli Firebase, skontaktuj się z pomocą techniczną Firebase i prześlij kopię danych wyjściowych dziennika, abyśmy mogli pomóc Ci w dalszym rozwiązywaniu problemów.

Następne kroki