Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

Crashlyticsの実装をテストする

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

クラッシュを強制して実装をテストする

  1. テスト クラッシュを強制するために使用できるコードをアプリに追加します。

    次のコードを使用して、ボタンを押すとクラッシュするボタンをアプリに追加できます。ボタンには「Test Crash」というラベルが付いています。

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

    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. Xcode でアプリをビルドして実行します。

    1. Build をクリックし、現在のスキームを実行して、テスト デバイスまたはシミュレーターでアプリをビルドします。

    2. アプリが実行されるまで待ってから、[スキームまたはアクションの実行を ] をクリックして、アプリの初期インスタンスを閉じます。この最初のインスタンスには、Crashlytics を妨害するデバッガーが含まれていました。

  3. アプリの最初のクラッシュ レポートを送信するために、テスト クラッシュを強制します。

    1. テスト デバイスまたはシミュレーターのホーム画面からアプリを開きます。

    2. アプリで、上記のコードを使用して追加した [Test Crash] ボタンを押します。

    3. アプリがクラッシュしたら、Xcode からもう一度実行して、アプリがクラッシュ レポートを Firebase に送信できるようにします。

  4. Firebase コンソールのCrashlytics ダッシュボードに移動して、テストのクラッシュを確認します。

コンソールを更新しても、5 分経ってもテスト クラッシュが表示されない場合は、デバッグ ログを有効にしてみてください (次のセクション)。

Crashlytics のデバッグ ロギングを有効にする

Crashlytics ダッシュボードにテスト クラッシュが表示されない場合は、Crashlytics のデバッグ ログを使用して問題を追跡できます。

  1. デバッグ ログを有効にします。

    1. Xcode で、 [製品] > [スキーム] > [スキームの編集] を選択します。

    2. 左側のメニューから [実行] を選択し、[引数] タブを選択します。

    3. [起動時に渡される引数] セクションで、 -FIRDebugEnabledを追加します。

  2. テストクラッシュを強制します。このページの最初のセクションでは、これを行う方法について説明します。

  3. ログ内で、次の文字列を含む Crashlytics からのログ メッセージを検索します。これにより、アプリがクラッシュを Firebase に送信していることを確認できます。

    Completed report submission

5 分経っても Firebase コンソールの Crashlytics ダッシュボードにこのログまたはテスト クラッシュが表示されない場合は、ログ出力のコピーをFirebase サポートに連絡して、さらにトラブルシューティングを支援できるようにしてください。

次のステップ