[Fabric] Crashlytics 入門 #1 まずは導入してみよう

2015.02.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Crashlytics とは?

Crashlytics とは、モバイルアプリのクラッシュ統計サービスです。iOS アプリや Android アプリに導入することでクラッシュレポートを収集することができます。

crashlytics04

今回より、Crashlytics の使いかたについて解説したいと思います。ということで、まずは導入してみましょう。

実行環境

今回試した実行環境は以下の通りです。

  • Mac OS X 10.10.2
  • Xcode 6.1.1 (6A2008a)
  • Fabric 1.1.0
  • Crashlytics Kit 2.2.9

Crashlytics の導入の前準備

Crashlytics を利用するためには、まず Fabric の開発者アカウント登録が必要です。以下の記事にまとめていますので、ご参照ください。

Fabric の Mac アプリのインストールまで終わったら、次のステップに進んでください。

Crashlytics を導入する

次に、Crashlytics Kit を Xcode プロジェクトに導入してみましょう。まず先ほどインストールした Fabric アプリを起動します。メニューバーにアイコンが現れるので、クリックするとログインが求められます。

fabric06

ログインすると Xcode プロジェクトの一覧が表示されるので、連係させたい Xcode プロジェクトを選択します。

fabric07

次に、どのモジュールを使うか問われます。今回は Crashlytics を利用したいので Crashlytics を選択します。

fabric08

次に、Xcode プロジェクトの Run Script にスクリプトを追加する旨のメッセージが表示されます。

fabric09

こんな感じです。ビルドを1回実行すると次に進めます。

fabric10

次に、Crashlytics Kit のインポートを行います。アイコンが表示されているので、そのままドラッグしてインポートします。

fabric11

こんな感じです。Framework グループを作成して、その中に入れておくと分かりやすいと思います。

crashlytics01

以上で Fabric SDK と Crashlytics Kit のインポートは完了です。

Crashlytics を試す

それでは Crashlytics を試してみたいと思います。インポートが終わるとサンプルコードが表示されるので、これらをソースコードに追加します。まず必ず必要なのは、AppDelegate に Crashlytics を利用する設定です。

crashlytics02

AppDelegate.m

#import "AppDelegate.h"

#import <Fabric/Fabric.h>
#import <Crashlytics/Crashlytics.h>

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Fabric with:@[CrashlyticsKit]];
    return YES;
}

@end

最後に次の画面が表示されます。アプリが実行されるのを待っている状態です。

fabric16

ということでアプリを実行してみましょう。アプリ実行後、インジケータが消えて「Done」ボタンが表示されれば連係成功です。

fabric17

さて、導入が終わったところでクラッシュレポートが正常に送信できるか試してみましょう。そのテストのために、Crashlytics Kit ではクラッシュさせるメソッドが用意されています。適当なところに以下のコードを記述し、実行してみましょう(デバッグモードでは送信されないため、Mac との接続を切断してからクラッシュさせてください)。

ViewController.m

#import "ViewController.h"
#import <Crashlytics/Crashlytics.h>

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [[Crashlytics sharedInstance] crash];
}

@end

次に、Crashlytics の管理画面をブラウザで開いてみます。次の URL にアクセスすると開けると思います。

クラッシュレポートが正常に送信されていることが確認できました。

crashlytics04

まとめ

Crashlytics について、はじめの一歩を紹介しました。 とりあえずクラッシュレポートを取っておきたいだけであれば、今回解説した作業だけで十分なので、まずは導入してみてはいかがでしょうか。 Crashlytics にはこれだけではない、もう少し便利に使えそうな機能を持っていますので、今後も紹介していきたいと思います。

参考