web-dev-qa-db-ja.com

Firebase Crashlyticsの「問題の読み込みエラー」とアップロードシンボルスクリプトエラー-XCodeを使用するiOSアプリ

最近、Firebase Crashlyticsのすべてのクラッシュレポートが難読化されておらず、関数名や行番号ではなく、コンパイラエラーやメモリの場所(<compiler-generated> - Line 4331771636EXC_BREAKPOINT 0x0000000102afd6f4など)が返されていました。それは、Fabricがシャットダウンされた(2020年5月4日)ためだと気づき、Firebase Crashlyticsへの移行を開始しました。

ポッドファイルを変更してFirebase/Crashlyticsポッドを追加し、 here にある移行手順に従いました。

XcodeのRun scriptの下のBuild Phasesに次のコードを挿入しました。

"${PODS_ROOT}/FirebaseCrashlytics/run"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

プロジェクトをビルドすると、upload-symbolsから次のエラーが返されます。

Fetching upload-symbols settings...
[31merror: Could not fetch upload-symbols settings: Could not connect to the server.[0m
Command PhaseScriptExecution failed with a nonzero exit code

ターミナルでupload-symbolsスクリプトを手動で実行すると、同じエラーerror: Could not fetch upload-symbols settings: Could not connect to the server.が発生します

また、FirebaseのCrashlyticsダッシュボードで、以前のすべてのクラッシュデータを失っていて、メッセージError loading your issuesを受け取っていたことにも気付きました。

エラーを修正して、Crashlyticsを以前のように機能させるにはどうすればよいですか?

2
Mitchell D

解決策は、fatalError()を使用してアプリを強制的にクラッシュさせることでした。これが、Firebase Crashlyticsバックエンドでの新しいSDKの登録を完了するために必要であることは明らかではありません。

これを実行すると、以前のようにすべての過去のクラッシュデータが利用可能になり、upload-symbolsが正常に完了しました。

5
Mitchell D