8

firebase でクラッシュ レポートを実装しようとしています。ドキュメント hereに従いました。そして、ダウンロードした息子ファイルの名前をServiceAccount.json. 次に、それをプロジェクトディレクトリにコピーしました。スクリプトも変更。今私のビルド段階の実行スクリプトは次のようになります

# Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
GOOGLE_APP_ID=1:.....#my app id

# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "ServiceAccount.json"

しかし、プロジェクトをビルドしようとすると、ビルドエラーが発生します

Unexpected argument 'ServiceAccount.json'
usage: /Users/<full path>/Pods/FirebaseCrash/upload-sym [-h] [-v] [-w|-e]
Command /bin/sh failed with exit code 2

私のステップのどこが悪いのですか?

4

13 に答える 13

22

これは、私の練習プロジェクトで使用するスクリプトです。

JSON_FILE=${SRCROOT}/*****/ServiceAccount.json
GOOGLE_APP_ID=1:**********:ios:*********

defaults write com.google.SymbolUpload version -integer 1

JSON=$(cat "${JSON_FILE}")
/usr/bin/plutil -replace "app_${GOOGLE_APP_ID//:/_}" -json "${JSON}" "$HOME/Library/Preferences/com.google.SymbolUpload.plist"
"${PODS_ROOT}"/FirebaseCrash/upload-sym

JSON ファイルがプロジェクト フォルダー「XYZ」にある場合は、この「JSON_FILE=${SRCROOT}/XYZ/ServiceAccount.json」のみが必要です。XYZ のサブフォルダーにある場合は、「JSON_FILE=${SRCROOT}」のようになります。 /XYZ/サブフォルダー/ServiceAccount.json"

GOOGLE_APP_ID を設定すれば完了です。下手な英語でごめんなさい。それが役に立てば幸い :)

于 2016-08-29T16:37:04.520 に答える
6

これは私にとってはうまくいきます。"Firebase docs で説明されているメソッドから削除されました。

GOOGLE_APP_ID=1:**********:ios:************
"${PODS_ROOT}"/FirebaseCrash/upload-sym ${SRCROOT}/******/GoogleCrashKey.json
于 2016-11-12T21:21:16.993 に答える
3

FirebaseCrash 1.0.7 以降、upload-sym スクリプトが 1 つのパラメーターを取るように変更されたようです。

FirebaseCrash ポッドのバージョンを確認し、pod outdated古いものを使用している場合は更新します。

于 2016-09-22T23:30:35.270 に答える
3

スクリプトで /FirebaseCrash/upload-sym を /FirebaseCrash/upload-sym-util.bash に変更したところ、うまくいきました

GOOGLE_APP_ID=1:1234567830:ios:7sjghd66373hbdd2 "${PODS_ROOT}"/FirebaseCrash/upload-sym-util.bash "/Users/iosteam/Documents/MYLES-iOS-a86994a092e8.json"

于 2017-10-11T07:02:12.810 に答える
2

更新: 最新の FirebaseCrash でこれが修正され、使用方法が異なります。

指示が間違っています。PLIST ファイルを手動で生成する必要がありますが、一度だけです。以下は、アブドゥルのスクリプトへの私の追加です。

# Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
GOOGLE_APP_ID=1:*:iOS:*

# Insert this code BETWEEN the GOOGLE_APP_ID declaration and the
# call to FirebaseCrash/upload-sym, to generate PLIST file if needed
# Note the PLIST_FILE location is hard-coded in firebase script, do not change
PLIST_FILE="${HOME}/Library/Preferences/com.google.SymbolUpload.plist" # DO NOT CHANGE
if [ ! -f "${PLIST_FILE}" ]; then
  JSON_FILE="${PODS_ROOT}/FirebaseSymbolUploadKey.json"  # Change to location of your file
  defaults write com.google.SymbolUpload version -integer 1  # Required by script
  JSON=$(cat "${JSON_FILE}")
  /usr/bin/plutil -replace "app_${GOOGLE_APP_ID//:/_}" -json "${JSON}" "${PLIST_FILE}"
fi

# Instructions WRONG, don't pass any args, script hard-codes where it looks
# for credentials, which is handled by the JSON conversion above
"${PODS_ROOT}"/FirebaseCrash/upload-sym
于 2016-08-31T19:04:07.897 に答える
0

最初 : ファイル ServiceAccount ".json" に追加 --> ServiceAccount.json

そのファイルをプロジェクトのルートフォルダーにコピーします。

2番目:「ビルドフェーズ」の実行スクリプトでこのコードを設定します

GOOGLE_APP_ID= copy here your "GOOGLE_APP_ID" from GoogleService-Info.plist

"${PODS_ROOT}"/FirebaseCrash/upload-sym  "${ROOT}"ServiceAccount.json
  • GoogleService-Info.plist に「API_KEY」があることに注意してください

    そうでない場合は、firebase に移動して、このファイルを再度ダウンロードしてください。

于 2016-12-12T07:02:51.230 に答える