web-dev-qa-db-ja.com

iOSでのFirebase Crashlyticsのセットアップ?

FirebaseCrashlyticsを、Firebase Crash Reportingが有効になっているiOSアプリに統合しようとしています。ドキュメント here に従いましたが、カスタムビルドフェーズを実行するとビルドが常に失敗します。

"${PODS_ROOT}/Fabric/run"

Xcodeのエラーは次のとおりです。

エラー:ファブリック:構成の問題

ファブリックAPIキーが無効です。 Fabric実行スクリプトのビルドフェーズには、APIキーを含める必要があります:./Fabric.framework/run INSERT_YOUR_API_KEY INSERT_YOUR_BUILD_SECRET

Fabric APIキーを持っていないので、Firebaseライブラリがそれらのファブリックキーを処理する必要があると思います。私のプロジェクトにはInfo.plistがあり、Firebaseは完全に機能していますが、Fabricの実行フェーズを通過することはできません。これを修正する方法についてのヘルプは大歓迎です!

39
Lucas P.

最後にそれを理解し、同じ問題に困惑しているかもしれない人のために投稿しました。

OSX Fabric.app経由でファブリックをインストールしようとした場合、Fabric初期化ビルドスクリプトが読み取ろうとしているInfo.plistにFabric APIキーが追加されます(推測)。

削除の後に、キー/パラメータを必要とせずに、スクリプトが機能するinfo.plistからFabricキーが形成されます。

Firebaseドキュメントには、これに関するスニペット警告を含める必要があります。

130
Lucas P.

https://fabric.io/kits/ios/crashlytics/install のドキュメントに従い、Run Scriptを追加し、Info.plistを更新しましたが、それでも上記の問題が発生しました。

どうやら、誤って2回「新規実行スクリプトフェーズ」を追加したようです。不要な「スクリプトの実行」を削除した後、プロジェクトは正常にコンパイルされました。

Xcode 10.1 Fabric 1.7.5 Crashlytics 3.10.4

2
Alex Pavtoulov

ドキュメント

  • crashlyticsがプロジェクトに既にセットアップされている場合(移行の場合)、

    1. Info.plistからファブリックキーを削除します(Fabricの辞書とキーを削除する必要があります)
    2. ドキュメントに従ってください。("${PODS_ROOT}/Fabric/run"、 の代わりに "${PODS_ROOT}/Fabric/run" key1 key2ビルド段階でのスクリプトの実行)
  • プロジェクトにcrashlyticsがまだセットアップされていない場合(firebase crashlyticsとの新たな統合を開始する場合)、単にドキュメントに従ってください。

1
cnu

Getting Started のドキュメントを注意深く守っていれば、いらいらするかもしれません。私を信じて。私はそれを共有しました。

今、私はあなたと共有できるものです。

  1. 以前にそのターゲット用のFabric RunScriptがあった場合は、それを削除して新しいものを作成し、GettingStarted instruction を適用し、$(INFOPLIST_PATH)GoogleService-Info.plistに置き換えてください。

  2. Info.plistファイルにFabric設定はもうないはずです。これは、<key>Fabric</key><dict>...</dict>です。それでもまだあるなら、さよならを言って、その気持ちや顔を手放す時間です この問題

  3. Xcodeコンソールで[Fabric] failed to download settings Error Domain=FABNetworkError Code=-5... blah blah blahが表示され続ける場合は、最初にそのBuild Folder(shift + cmd + k)を削除してください。

次のビルドが機能する場合は、 force crashing アプリを試して、Firebaseのクラッシュログを確認してください。

これが私のスタックです:Xcode10.2.1 | ファブリック1.9 | Crashlytics3.12

1
MkVal

私にとっての問題は、以前に古いファブリックを使用していたため、info.plistからキーを削除する必要があったことです。

0
MobileMon