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

Принудительно завершить работу, чтобы проверить вашу реализацию.

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

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

    SwiftUI

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

    УИКит

    Быстрый

    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 с отключенным отладчиком 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 и предоставьте копию результатов вашего журнала, чтобы мы могли помочь вам в дальнейшем устранении неполадок.

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