Catch up on highlights from Firebase at Google I/O 2023. Learn more

Протестируйте свою реализацию Crashlytics

Вызовите сбой, чтобы проверить свою реализацию

  1. Добавьте в приложение код, который можно использовать для аварийного завершения теста.

    Вы можете использовать следующий код, чтобы добавить в приложение кнопку, нажатие которой вызывает сбой. Кнопка называется «Проверить сбой».

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    Быстрый

    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]
      }
    }
    

    Цель-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. Создайте и запустите свое приложение в Xcode.

    1. Щелкните Build, а затем запустите текущую схему , чтобы создать приложение на тестовом устройстве или симуляторе.

    2. Подождите, пока ваше приложение запустится, затем нажмите Остановите выполнение схемы или действия , чтобы закрыть первоначальный экземпляр вашего приложения. Этот первоначальный экземпляр включал отладчик, который мешает работе Crashlytics.

  3. Принудительно выполните тестовый сбой, чтобы отправить первый отчет о сбое вашего приложения:

    1. Откройте свое приложение с главного экрана тестового устройства или симулятора.

    2. В своем приложении нажмите кнопку «Проверить сбой», которую вы добавили с помощью приведенного выше кода.

    3. После сбоя приложения запустите его снова из Xcode, чтобы ваше приложение могло отправить отчет о сбое в Firebase.

  4. Перейдите на панель инструментов Crashlytics консоли Firebase, чтобы увидеть сбой вашего теста.

Если вы обновили консоль и по-прежнему не видите аварийного завершения теста через пять минут, попробуйте включить ведение журнала отладки (следующий раздел).

Включить ведение журнала отладки для Crashlytics

Если вы не видите сбой теста на панели управления Crashlytics, вы можете использовать ведение журнала отладки для Crashlytics, чтобы отследить проблему.

  1. Включите ведение журнала отладки:

    1. В Xcode выберите Продукт > Схема > Редактировать схему .

    2. Выберите «Выполнить» в меню слева, затем перейдите на вкладку «Аргументы» .

    3. В разделе «Аргументы, передаваемые при запуске» добавьте -FIRDebugEnabled .

  2. Принудительный тестовый сбой. Первый раздел на этой странице описывает, как это сделать.

  3. В своих журналах найдите сообщение журнала от Crashlytics, содержащее следующую строку, которая подтверждает, что ваше приложение отправляет сбои в Firebase.

    Completed report submission

Если вы не видите этот журнал или сбой теста на панели инструментов Crashlytics консоли Firebase через пять минут, обратитесь в службу поддержки Firebase с копией выходных данных журнала, чтобы мы могли помочь вам в дальнейшем устранении неполадок.

Следующие шаги