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ę „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 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 naciśnij przycisk „Test Awaria”. dodany za pomocą kodu powyżej.

    3. Po awarii aplikacji uruchom ją ponownie z Xcode, aby aplikacja mogła wyślij raport o awariach do Firebase.

  4. Otwórz panel Crashlytics w konsoli Firebase, aby wyświetlić awarię testową.

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

Włącz logowanie debugowania w Crashlytics

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

  1. Włącz logowanie debugowania:

    1. W Xcode wybierz Product > (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. W dziennikach wyszukaj komunikat z Crashlytics, który zawiera zawiera ten ciąg znaków, który potwierdza, że aplikacja wysyła powoduje awarię do Firebase.

    Completed report submission
    .

Jeśli nie widzisz tego dziennika lub awarii testowej w panelu Crashlytics konsoli Firebase po upływie 5 minut, skontaktuj się z Pomocy Firebase z kopią pliku dane wyjściowe w dzienniku, abyśmy mogli Ci pomóc w dalszym rozwiązaniu problemu.

Dalsze kroki