Przetestuj implementację Crashlytics

Wymuś awarię, aby przetestować implementację

  1. Dodaj do swojej 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órego naciśnięcie 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. Kompiluj i uruchamiaj aplikację w Xcode z odłączonym debugerem Xcode.

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

    2. Poczekaj, aż aplikacja zostanie uruchomiona, a następnie kliknij przycisk Zatrzymaj uruchamianie schematu lub akcji, aby zamknąć początkową instancję aplikacji. Ta początkowa instancja zawierała debuger zakłócający działanie Crashlytics.

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

    1. Otwórz aplikację na ekranie głównym urządzenia testowego lub symulatora.

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

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

  4. Przejdź do panelu Crashlytics konsoli Firebase, aby zobaczyć awarię testową.

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

Włącz rejestrowanie debugowania dla Crashlytics

Jeśli nie widzisz awarii testu na pulpicie nawigacyjnym Crashlytics, możesz skorzystać z 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 opcję Uruchom z lewego menu, a następnie wybierz kartę Argumenty .

    3. W sekcji Argumenty przekazywane przy uruchomieniu dodaj -FIRDebugEnabled .

  2. Wymuś awarię testową. W pierwszej części tej strony opisano, jak to zrobić.

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

    Completed report submission

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

Następne kroki