🧭 できること
- リアルタイムクラッシュ検出
- クラッシュの発生箇所・頻度・端末・OSを自動で分析
- ユーザー単位のクラッシュ追跡
- カスタムログ・エラーの記録(try-catch連携)
- Slack・メール通知連携
🚀 導入手順(Swift / Xcode)
- Firebase Consoleでプロジェクト作成
- iOSアプリを登録し、GoogleService-Info.plist をXcodeに追加
- Podfileに以下を追加:
pod 'Firebase/Crashlytics' - ターミナルで
pod install AppDelegate.swiftにて初期化:import Firebase @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FirebaseApp.configure() return true } }
📝 カスタムログ・エラーを記録する
Crashlytics.crashlytics().log("画面Aが表示された")
do {
try someDangerousAction()
} catch {
Crashlytics.crashlytics().record(error: error)
}
📊 ダッシュボードの見方
- Issues(クラッシュの種類と回数)
- Affected Users(影響を受けたユーザー数)
- Stack Trace(どの関数で落ちたか)
- クラッシュに至る直前のログ
頻度の多いクラッシュが上位に表示され、修正すべき箇所の優先度が分かります。
🔁 手動でクラッシュさせて動作確認
Crashlytics.crashlytics().log("手動クラッシュのテスト")
fatalError("強制クラッシュテスト")
📌 注意点
- 実機ビルドでしかログが送信されない(シミュレータ不可)
- クラッシュ後、アプリ再起動でレポートが送信される
- dSYMのアップロードが必要(Bitcode無効推奨)