Bitriseのworkflowからシンボル(dSYM)をアップロードする
Firebase公式ドキュメント
「可読化されたクラッシュ レポートを取得する」
Xcode が dSYM を生成しているかどうかを確認する
Build Settings > All > debug information format
で検索
dSYM を生成したいビルドタイプで Debug Information Format
が DWARF with dSYM File
になっていることを確認。
Crashlytics には、バックアップとして upload-symbols スクリプトも組み込まれています。このスクリプトをビルドプロセスの任意の時点で呼び出すことで、dSYM を手動でアップロードできます。
ビルド後に走らせるスクリプト
find [dSYM_directory] -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp [/path/to/GoogleService-Info.plist] -p ios \{\}
Xcode Archive & Export for iOS レーン
Debug > Export all dsyms
If this input is set to yes step will collect every dsym (.app dsym and framwork dsyms) in a directory, zip it and export the zipped directory path. Otherwise only .app dsym will be zipped and the zip path exported.
すべての dsym (.app dsym と framwork dsyms) を収集し、zip で圧縮し、zip で圧縮されたディレクトリパスをエクスポートします。そうでなければ、.app dsymのみがzip圧縮され、zipパスがエクスポートされます。
エクスポートされた dSYM.zip の場所
/Users/vagrant/deploy/xxxxx.dSYM.zip
Bitriseでの実践的なスクリプト
unzip $BITRISE_DEPLOY_DIR/xxxxx.dSYM.zip -d $BITRISE_DEPLOY_DIR | find -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp $BITRISE_SOURCE_DIR/xxxxx/Supporting Files/GoogleService-Info-Production.plist -p ios \{\}
ローカルでのダウンロードディレクトリを使ったテスト
cd ~/Git/xxxxx
unzip ~/Downloads/xxxxx.dSYM.zip -d ~/Downloads/ && find ~/Downloads/ -name "*.dSYM" | xargs -I \{\} Pods/FirebaseCrashlytics/upload-symbols -gsp ./xxxxx/Supporting Files/GoogleService-Info-Production.plist -p ios \{\}