20
Crash Report 解析系サービスを試してみた 2014.2.15 Cocoa 関西 #54 @ itok_twit

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

  • Upload
    kei-ito

  • View
    1.999

  • Download
    13

Embed Size (px)

Citation preview

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/