Crash Report
解析系サービスを試してみた
2014.2.15 Cocoa関西#54 @ itok_twit
自己紹介
•

いとうけい (itok)

•

趣味 & 職業 iOS / Macプログラマ

•

@itok_twit

•

http://itok.jp/

http://kei.to/app
やりたいこと
•

アプリの Crash Report を効率良くあつめたい

•

アプリ内で起きたエラーもできればあつめたい
試したサービス
•

flurry.com

•

iOS, Android, Windows Phone, Java, BlackBerry, Web

•

完全無料

•

広告SDKもある(ここから収益?)

•

独自イベント定義可能(うまくいかない・・・)

•

Webページ重い。とにかく重い
•

bugsense.com

•

iOS, Android, Windows Phone, Windows8, Web

•

有料プランあり

•

ログ取得は有料プラン(Breadcrumbログ)

•

Mac用のクライアントアプリあり

•

Github, JIRA, Pivotal連携あり
•

crittercism.com

•

iOS, Android, Windows Phone, Web

•

有料プランあり

•

ログ取得は有料プラン(Breadcrumbログ)

•

リアルタイムモニタ

•

Github, JIRA, Pivotal連携あり
Breadcrumbログって?
•

CrashReportだけあってもユーザの操作手順がわ
からない

•

どのViewをみているとか、どのボタンを押した
とかのログをSDK経由で残しておく

•

落ちたときに直前のログも一緒に教えてくれる
Breadcrumbログ
•

crashlytics.com

•

iOS, Android, Windows Phone, Web

•

完全無料(2013.1にTwitterに買収)

•

Invitation必要だけどメール登録すればOK

•

Mac用のアプリからXcodeにたいして設定する

•

ログ取得あり(Breadcrumbログ)
DEMO
ちょっと雰囲気だけでも
参考
•

アプリ内にログをためる枠組みとして

https://github.com/CocoaLumberjack/CocoaLumberjack
•

デバッグ中はコンソール、ファイルに両書き出し

•

リリースではファイルにのみ書き出して必要に応じ
てユーザさんに送ってもらう
みたいな運用が簡単にできます
たとえば
{

#ifdef TESTFILGHT

// TestFlight使用時: WARN 以上のログを送信

[TestFlight takeOff:@"xxxx"];

[TestFlight setOptions:@{TFOptionLogToConsole: @NO, TFOptionLogToSTDERR: @NO}];

[DDLog addLogger:[[TestFlightLogger alloc] init] withLogLevel:LOG_LEVEL_WARN];

#endif


!

#if DEBUG

// debugビルド: コンソールにログ出力

[DDLog addLogger:[DDASLLogger sharedInstance]];

[DDLog addLogger:[DDTTYLogger sharedInstance]];

#else

// releaseビルド: Crashlytics用のログ出力

[DDLog addLogger:[[CrashlyticsLogger alloc] init] withLogLevel:LOG_LEVEL_INFO];

#endif


!

// 常にファイルログ出力

self.fileLogger = [[DDFileLogger alloc] init];

self.fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling

self.fileLogger.logFileManager.maximumNumberOfLogFiles = 7;

[DDLog addLogger:self.fileLogger];


}
としておくと
{

….


!
!

DDLogInfo(@“hogehoge”);

….


}

とするだけで、各所にログが出力されます
参考2
•

その他の類似サービス
•

Google Analytics

•

HockeyApp

•

QuincyKit: 自分でサーバ用意
結論

•

とりあえずはじめてみるなら Crashlytics

エラーログだけを集めることはできなかった・・・(情報求む)
http://www.flurry.com/

http://www.bugsense.com/

http://www.crittercism.com/

http://www.crashlytics.com/

Cocoa勉強会関西 #54 Crash Report解析サービスを試してみた