Crashlyticsでクラッシュ情報の詳細を見るためにdSYMファイルをアップロードする必要がある。
手動でやるのがめんどくさいので自動化したい。
Xcode関連の自動化はfastlaneがいいぞと聞いたので、使ってみる。
The easiest way to automate building and releasing your iOS and Android apps github.com
初期設定
qiita.com ↑を参考にAppfileを埋める
app_identifier("*****************") # The bundle identifier of your app apple_id("*****************") # Your Apple email address
dSYMのアップロード
Fastlane
before_all do #プラグインのアップデート update_fastlane sh("fastlane update_plugins") sh("curl -sL firebase.tools | upgrade=true bash") end lane :refresh_dsyms do |options| # バージョンの指定がなければ、最新バージョンのdSYMファイルをダウンロードする version = options[:version] || 'latest' download_dsyms( version: version ) # dSYMファイルをcrashlyticsにアップロードする upload_symbols_to_crashlytics(gsp_path: "./GoogleService-Info.plist",binary_path: "/Applications/Fabric/upload-symbols") # ローカルのdSYMファイルを削除する clean_build_artifacts end
こちら参考に tech.unifa-e.com
途中で出たエラー
[!] Failed to find Fabric's upload_symbols binary at /Applications/Fabric.app/**/upload-symbols or ./Pods/**/upload-symbols. Please specify the location of the binary explicitly by using the binary_path option
upload-symbolsの実行ファイルが無いとのことだったので、 ビルドしたxcodeプロジェクトのディレクトリ内に/Pods/Fabricが生成されてるので、 Applications以下にコピー(/Application/Fabric/upload-symbols)
[!] Either Firebase Crashlytics App ID, path to GoogleService-Info.plist or legacy Fabric API key must be given.
- CrashlyticsのAppID
- GoogleService-Info.plist のパス
- Fabric API key
のどれかが必要だよ。的な
Firebase側の設定画面からGoogleService-Info.plistをダウンロード。
プロジェクト内に配置。
実行
これだけで無事にfirebaseにdSYMがアップロードできた。
便利や〜