web-dev-qa-db-ja.com

クラッシュシンボルのアップロードによるXcodeエラー:symbolFileUploadLocation:呼び出し元に権限がありません

私はここにあるガイドに従いました: https://firebase.google.com/docs/crash/ios

しかし、完了してビルドしようとすると、次のエラーが発生します。許可

誰かアイデアはありますか?私はグーグル、スタックオーバーフロー、グーグルグループで検索しましたが、この問題を指摘している人が他にいません。

10.11.5、Xcode 7.3.1の実行

エラーのソースを開くと、upload-sym-util.bash、349行目が表示されます。ここにその領域のスニペットがあります。

    if [[ "$ERRMSG" ]]; then
        if ((VERBOSE)); then
            xcnote "Server response:"
            plutil -p "$FILE_UPLOAD_LOCATION_PLIST" >&2
        fi
        xcerror "symbolFileUploadLocation: $ERRMSG"
        xcnote "symbolFileUploadLocation: Failed to get upload location."
        return 1
    fi
17
sculver2004

最初に https://console.cloud.google.com/ でToSを受け入れる必要があります

次に、シンボルをアップロードするために作成されたサービスアカウントに編集者の役割を付与します: https://firebase.google.com/docs/crash/ios#set_up_crash_reporting

4
user1122778

回答に追加して、jsonファイルの名前をServiceAccount.jsonに変更し、それをxcodeのpodsフォルダーにドロップし、googleの推奨パスをこのパスに置き換えます。他の人に転送すると、プロジェクトが移植可能になるという利点があります...

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

ドキュメントに誤りがありました:手順が省略されました。 「Symbol Upload service account」の役割には、シンボルデータベースを更新するための編集者権限が必要です。次の(「ステップ1½」)は、ステップ1と2の間に表示されているはずです。

サービスアカウントに書き込み権限があることを確認するには:

  1. で 許可 ページ、選択 わたし 左側のメニューから。
  2. 検索ボックスに「Symbol Upload」と入力します。
  3. 「Symbol Upload service account」には、少なくとも「編集者」の役割が必要です。

混乱については申し訳ありません。

4
Robert Menke
  1. 「Symbol Upload service account」にプロジェクト>編集者の役割サービスアカウントを作成するときを必ず付与してください。役割の割り当てを怠った場合、サービスアカウントは[権限]> [IAM]に表示されません。
  2. Xcode実行スクリプトが実行されると、$HOME/Library/Preferences/ディレクトリにcom.google.SymbolUpload.plistcom.google.SymbolUploadToken.plistの2つのファイルが作成されます。新しいサービスアカウント(または秘密鍵)を作成する場合は、これらの2つのファイルを削除して、古いサービスアカウント情報を消去する必要があります。 Firebaseのドキュメントではこれを強調していますが、繰り返すに値します。

enter image description here

2
Jon

プロジェクトで2番目のFirebaseデータベースを使用しようとすると、同様のエラーが発生しました。ただし、最初のデータベースに固有の実行スクリプトにクラッシュ分析コードを追加したことを忘れていました。ビルドフェーズでスクリプトの実行コードを削除すると、シンボルアップロードファイルの問題はなくなりました。

0
mjpablo23

ガイドの2番目のステップ(上記の@Robertの回答で説明)で混乱している方のために、サービスアカウントを変更するには、Firebaseアプリのownerである必要があります。

0
Simon Bengtsson

Service Account画面から追加するとうまくいきました。 Permissionsをクリックして、エディターとして追加します。

enter image description here

0
warrantsuspect