コンソールへ移動

Firebase Crashlytics 実装のテスト

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

クラッシュする前でも Crashlytics の動作を確認できます。アプリに次のコードを追加することで、SDK を使用して強制的にアプリをクラッシュさせることができます。

Objective-C
#import "ViewController.h"
#import <Crashlytics/Crashlytics.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:@"Crash" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(crashButtonTapped:)
        forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
}

- (IBAction)crashButtonTapped:(id)sender {
    [[Crashlytics sharedInstance] crash];
}

@end
Swift
import UIKit
import Crashlytics

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("Crash", for: [])
        button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
        view.addSubview(button)
    }

    @IBAction func crashButtonTapped(_ sender: AnyObject) {
        Crashlytics.sharedInstance().crash()
    }
}

プロジェクトのデバッグ設定を調整する

ビルドの起動時にデバッガに接続する場合、Crashlytics はクラッシュをキャプチャできません。ビルドの設定を調整して、プロジェクトのデバッグ情報の形式を変更します。

  1. Xcode ナビゲータでプロジェクトがまだ選択されている状態で、[Build Settings] タブを開きます。
  2. すべてのビルド設定を表示するには、このタブの上部にある [All] をクリックします。
  3. 「debug information format」を検索します。
  4. [Debug Information Format] 設定を [DWARF with dSYM File] に設定します。

テストする

上のコード スニペットを追加することにより、アプリをクラッシュさせるボタンが表示されるようになります。このボタンを動作させるには、デバッガを使用せずにアプリケーションを実行します。

  1. Xcode で [play_arrow Build and then run the current scheme] をクリックして、デバイスまたはシミュレータでアプリをビルドします。
  2. Xcode で [stop Stop running the scheme or action] をクリックして、アプリの初期インスタンスを閉じます。この初期インスタンスには、Crashlytics の動作を妨げるデバッガが含まれています。
  3. シミュレータまたは端末からアプリをもう一度開きます。
  4. アプリをクラッシュさせるには、[Crash] をタップします。
  5. もう一度アプリを開くと、Crashlytics API によってクラッシュが報告されます。5 分以内に Firebase コンソールにクラッシュが表示されるはずです。

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

強制クラッシュが機能しない、意図的にクラッシュさせる前にクラッシュが発生した、あるいは Crashlytics でその他の問題が発生した場合は、問題を突き止めるために Crashlytics のデバッグ ロギングを有効にします。

Crashlytics 3.11.1+

開発デバイスでデバッグ ロギングを有効にするには、Xcode で次のコマンドライン引数を指定します。

-FIRDebugEnabled
以前のバージョン
Objective-C
- (BOOL)application:(UIApplication *)application
          didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Initialize Firebase service.
        [FIRApp configure];
        [Fabric.sharedSDK setDebug:YES];
        return YES;
      }
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions
        launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Initialize Firebase service.
        FirebaseApp.configure()
        Fabric.sharedSDK().debug = true
        return true
      }

次のステップ

  • クラッシュ レポートをカスタマイズする - SDK を追加すると Crashlytics はすぐ自動的にクラッシュ レポートの収集を開始します。設定をカスタマイズして、オプトインのレポート、ログ、キーを追加したり、重大でないエラーを追跡したりすることもできます。