Firebaseの初期設定は完了している前提です。
Contents 非表示
実装
Xcodeの設定
dSYM出力設定
Build Settings
→ debug information Format
で検索 → 全てDWARF with dSYM File
にする
Edit Scheme
Edit Scheme → Run → Arguments内に-FIRDebugEnabled
を追加
ファイルの自動アップロード
Build Phases
→ 左上の+ボタンからNew Run Script Phase
を選択
Shell以下にこれを記述
// Podの場合
"${PODS_ROOT}/FirebaseCrashlytics/run"
// SPMの場合
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
Input Files
には以下の2つを追加
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
ビルド確認
一旦Command + B (or R)でビルドして通ればOKです。
実際にクラッシュさせる
fatalErrorを使って、Buttonが押された時に意図的にクラッシュさせる
import SwiftUI
struct HomeView: View {
var body: some View {
Button {
fatalError("This is a test crash for Firebase Crashlytics.")
} label: {
Text("Crashテスト")
}
}
}
Command + Rで実行、実行可能状態になったら停止ボタンを押してアプリを開き直す。(Xcodeのデバッグモードだとクラッシュレポートが送信されないため)
Buttonを押してクラッシュさせる、その後Crashlyticsコンソールを確認。
少し時間が経つとクラッシュログが表示されるようになります。