Open6

Bitriseのworkflowからシンボル(dSYM)をアップロードする

村松龍之介村松龍之介

Xcode が dSYM を生成しているかどうかを確認する
Build Settings > All > debug information format で検索
dSYM を生成したいビルドタイプで Debug Information FormatDWARF 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パスがエクスポートされます。

村松龍之介村松龍之介

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 \{\}