Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Przetestuj swoją implementację Crashlytics

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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ó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. Twórz i uruchamiaj swoją aplikację w 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 Zatrzymaj działanie schematu lub akcji, aby zamknąć początkowe wystąpienie aplikacji. Ta początkowa instancja zawierała debuger, który zakłóca 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 aplikacji naciśnij przycisk „Testuj awarię” 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 pulpitu nawigacyjnego Crashlytics w konsoli Firebase, aby zobaczyć testową awarię.

Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testowej 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ć dziennika debugowania dla Crashlytics, aby pomóc w wyśledzeniu problemu.

  1. Włącz rejestrowanie debugowania:

    1. W Xcode wybierz Product > Scheme > Edit schema .

    2. Wybierz opcję Uruchom z menu po lewej stronie, a następnie wybierz kartę Argumenty .

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

  2. Wymuś awarię testową. W pierwszej sekcji na tej stronie opisano, jak to zrobić.

  3. W swoich dziennikach wyszukaj komunikat dziennika 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 ani awarii testowej 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