はじめに
Firebase/Crashlyticsでクラッシュの原因知りたいですよね?
原因を知るためにiOSアプリの場合はアプリのdSYMをFirebase/Crashlyticsにアップロードする必要があります。
本記事では、Bitriseとfastlaneを組み合わせて自動でアプリのdSYMをアップロードする方法の
ポイントについて書いてみます!
大まかな処理の流れ
ざっと2セクションです。
- BitriseでdSYMをFirebaseにアップロードするWorkFlowを走らせる
- WorkFlowに含まれているfastlane(dSYMアップロード用のlane指定)でAppStoreConnectに上がってる最新版アプリのdSYMをFirebaseにアップロード
Xcodeの設定
Debug Information FormatのReleaseをDWARF with dSYM File
ReleaseBuildを行う場合はdSYMを書き出すように設定
Enable Bitcodeをtrue
trueにしておくことで、Apple側でdSYMが作成されこのdSYMがAppStoreConnectからダウンロードできるようになるっぽい。
fastlaneでdSYMアップロード用のlane作成
アプリの最新版を指定
version: 'latest'
毎回WorkFlow回すごとにdSYMが溜まらないようアップロードした後に削除
clean_build_artifacts
desc "Automatically download and upload dSYM symbolication files from iTunes Connect for Bitcode iOS apps using fastlane"
lane :upload_dsyms do
download_dsyms(
version: 'latest'
)
# FirebaseにdSYMをアップロード
upload_symbols_to_crashlytics(gsp_path: "[GoogleService-Info.plistのPATH]")
# Delete the local dSYM files
clean_build_artifacts
end
Bitriseの設定
一部抜粋になりますが、
fastlaneをworkflowに組み込んでdSYMアップロード用のlane(upload_dsyms)を指定