Firebase dSYMアップロード方法


概要

Firebaseコンソールで
“このアプリには未処理のクラッシュが n 件あります。これらを処理するには、n個の dSYM ファイルをアップロードしてください。”
と言われた場合の対処法をまとめます。

目次

  • dSYMのダウンロード
  • dSYMのアップロード
    • スクリプトファイルを作成する
    • シェルスクリプトを実行する

dSYMのダウンロード

App Store Connect > My Apps > TestFlight > 任意のバージョン、ビルド > Build Metadata > Includes Symbols

Yes | Download dSYM

※ ダウンロードができない場合は、「dSYMをダウンロード」のリンク先をコピーして、アドレスバーで実行する

ダウンロードしたappDsyms.zipを開く。

dSYMのアップロード

スクリプトファイルを作成する

ファイル名

upload_dsyms.sh

テキストエディタでファイルを作成して、ファイル名を上記と同じにする。
ユーザーディレクトリに置くと楽。

ファイル内容

内容は以下をペースにして、パスは自身の環境のものに修正する。
アプリのプロジェクトからupload-symbols、GoogleService-Info、を探してそのパスをコピペする。
ダウンロードしたappDsymsフォルダのパスをコピペする。

#!/bin/sh

# CrashlyticsにdSYMsをアップロードする 

# upload-symbolsの場所 CocoaPodsの場合 Pods/FirebaseCrashlytics/upload-symbols
UPLOAD_SYMBOLS=“/フルパス/Pods/FirebaseCrashlytics/upload-symbols"

# GoogleService-Infoファイルを指定する(ファイル名はなんでもOK。ここでは本番用に設定したファイル名にしてます)
GOOGLE_SERVICE_INFO_PLIST="/フルパス/GoogleService-Info.plist"

# App Store ConnectからDownloadしたdSYMフォルダのパスを指定する。(zipファイルから解凍するとappDsymsフォルダができる)
DSYMS="/フルパス/appDsyms"

"$UPLOAD_SYMBOLS" -gsp "$GOOGLE_SERVICE_INFO_PLIST" -p ios "$DSYMS"

シェルスクリプトを実行する

ターミナルでコマンドを実行する

ターミナルで、upload_dsyms.shが配置されているディレクトリへ移動して、以下のコマンドを実行する。

$ sh upload_dsyms.sh

※ ターミナルにSuccessfully uploaded Crashlytics symbolsが表示されてもしばらく待たないとコンソールに反映されないケースもある