Testowanie implementacji Crashlytics


Wymuś awarię, aby przetestować implementację

  1. Dodaj do aplikacji kod, który pozwala wymusić awarię testową.

    Za pomocą tego kodu możesz dodać do swojej aplikacji przycisk, który, gdy powoduje awarię. Przycisk ma etykietę „Testowy błąd”.

    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. Utwórz i uruchom aplikację w Xcode, gdy debuger Xcode jest odłączony.

    1. Kliknij Kompilacja, a następnie uruchomić bieżący schemat, aby utworzyć aplikację na urządzeniu testowym; symulatora.

    2. Poczekaj, aż aplikacja zostanie uruchomiona, a potem kliknij Zatrzymaj schemat lub działania, aby zamknąć początkowe wystąpienie aplikacji. Ta początkowa zawiera debuger, który zakłóca 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 aplikacji kliknij przycisk „Test Crash”, który został dodany za pomocą kodu powyżej.

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

  4. Aby zobaczyć testowy błąd krytyczny, otwórz panel Crashlytics konsoli Firebase.

Jeśli po 5 minutach odświeżenia konsoli nadal nie widzisz testowego błędu, spróbuj włączyć rejestrowanie debugowania (następna sekcja).

Włącz logowanie debugowania dla: Crashlytics

Jeśli nie widzisz testu, który uległ awarii, na panelu Crashlytics, możesz użyć rejestrowania debugowania w przypadku Crashlytics, aby łatwiej zlokalizować problem.

  1. Włączanie rejestrowania debugowania:

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

    2. W menu po lewej stronie wybierz Uruchom, a potem wybierz kartę Argumenty.

    3. W sekcji Arguments Passed at Launch (Argumenty przekazane przy uruchomieniu) dodaj parametr -FIRDebugEnabled.

  2. Wymuszenie awarii testowej. Jak to zrobić, dowiesz się w pierwszej sekcji na tej stronie.

  3. W dziennikach odszukaj wiadomość z poziomu Crashlytics, która zawiera ten ciąg znaków. Potwierdza on, że aplikacja wysyła do Firebase informacje o awariach.

    Completed report submission

Jeśli po upływie 5 minut nie zobaczysz tego dziennika ani testowego błędu w panelu Crashlytics konsoli Firebase, skontaktuj się z zespołem pomocy Firebase i prześlij kopię wyjścia z dziennika, abyśmy mogli pomóc Ci w dalszym rozwiązywaniu problemu.

Dalsze kroki