Testowanie implementacji Crashlytics

Wymuś awarię, aby przetestować implementację

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

    Za pomocą podanego niżej kodu możesz dodać do aplikacji przycisk, który po naciśnięciu powoduje awarię. Przycisk ma etykietę „Awaria testowa”.

    Certyfikat 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 z odłączonym debugerem Xcode.

    1. Kliknij Utwórz, a następnie uruchom bieżący schemat, aby skompilować aplikację na urządzeniu testowym lub w symulatorze.

    2. Poczekaj, aż aplikacja zostanie uruchomiona, a następnie kliknij Zatrzymaj uruchamianie schematu lub działania, aby zamknąć początkową instancję aplikacji. Początkowa instancja 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 naciśnij przycisk „Test Crash” 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. Aby zobaczyć awarię testową, otwórz panel Crashlytics w konsoli Firebase.

Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testowej po 5 minutach, spróbuj włączyć logowanie debugowania (w następnej sekcji).

Włącz logowanie debugowania w Crashlytics

Jeśli nie widzisz awarii testowej w panelu Crashlytics, możesz skorzystać z dziennika debugowania, aby znaleźć przyczynę problemu.

  1. Włącz logowanie debugowania:

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

    2. W menu po lewej stronie kliknij Uruchom i wybierz kartę Argumenty.

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

  2. Wymuś awarię testową. Jak to zrobić, dowiesz się w pierwszej sekcji na tej stronie.

  3. Znajdź w logach komunikat logu z Crashlytics, który zawiera poniższy ciąg znaków, który potwierdza, że aplikacja wysyła awarie do Firebase.

    Completed report submission

Jeśli po 5 minutach nie widzisz tego logu lub awarii testowej w panelu Crashlytics w konsoli Firebase, skontaktuj się z zespołem pomocy Firebase, przesyłając kopię danych wyjściowych dziennika, abyśmy mogli pomóc Ci w dalszym rozwiązywaniu problemów.

Dalsze kroki