この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Crashlytics とは?
Crashlytics とは、モバイルアプリのクラッシュ統計サービスです。iOS アプリや Android アプリに導入することでクラッシュレポートを収集することができます。
今回より、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 アプリを起動します。メニューバーにアイコンが現れるので、クリックするとログインが求められます。
ログインすると Xcode プロジェクトの一覧が表示されるので、連係させたい Xcode プロジェクトを選択します。
次に、どのモジュールを使うか問われます。今回は Crashlytics を利用したいので Crashlytics を選択します。
次に、Xcode プロジェクトの Run Script にスクリプトを追加する旨のメッセージが表示されます。
こんな感じです。ビルドを1回実行すると次に進めます。
次に、Crashlytics Kit のインポートを行います。アイコンが表示されているので、そのままドラッグしてインポートします。
こんな感じです。Framework グループを作成して、その中に入れておくと分かりやすいと思います。
以上で Fabric SDK と Crashlytics Kit のインポートは完了です。
Crashlytics を試す
それでは Crashlytics を試してみたいと思います。インポートが終わるとサンプルコードが表示されるので、これらをソースコードに追加します。まず必ず必要なのは、AppDelegate に Crashlytics を利用する設定です。
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
最後に次の画面が表示されます。アプリが実行されるのを待っている状態です。
ということでアプリを実行してみましょう。アプリ実行後、インジケータが消えて「Done」ボタンが表示されれば連係成功です。
さて、導入が終わったところでクラッシュレポートが正常に送信できるか試してみましょう。そのテストのために、Crashlytics Kit ではクラッシュさせるメソッドが用意されています。適当なところに以下のコードを記述し、実行してみましょう(デバッグモードでは送信されないため、Mac との接続を切断してからクラッシュさせてください)。
ViewController.m
#import "ViewController.h"
#import <Crashlytics/Crashlytics.h>
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[[Crashlytics sharedInstance] crash];
}
@end
次に、Crashlytics の管理画面をブラウザで開いてみます。次の URL にアクセスすると開けると思います。
クラッシュレポートが正常に送信されていることが確認できました。
まとめ
Crashlytics について、はじめの一歩を紹介しました。 とりあえずクラッシュレポートを取っておきたいだけであれば、今回解説した作業だけで十分なので、まずは導入してみてはいかがでしょうか。 Crashlytics にはこれだけではない、もう少し便利に使えそうな機能を持っていますので、今後も紹介していきたいと思います。