web-dev-qa-db-fra.com

Erreur Xcode lors du chargement du symbole d’incident: symbolFileUploadLocation: l’appelant n’a pas la permission

J'ai suivi le guide situé ici: https://firebase.google.com/docs/crash/ios

Mais lorsque j'ai terminé et que je tente de construire, j'obtiens le message d'erreur suivant: /Users/-/Desktop/Test2/Pods/FirebaseCrash/upload-sym-util.bash: 349: erreur: symbolFileUploadLocation: l'appelant n'a pas la permission

Quelqu'un a des idées? J'ai effectué une recherche sur Google, sur le dépassement de pile et sur les groupes Google et je ne vois personne d'autre signaler ce problème que je peux trouver.

En cours d'exécution 10.11.5, Xcode 7.3.1

Lorsque j'ouvre le code source de l'erreur, il vous faut upload-sym-util.bash, ligne 349, voici un extrait de cette zone:

    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
16
sculver2004

Vous devez d'abord accepter les ToS sur https://console.cloud.google.com/

Donnez ensuite le rôle d’éditeur à votre compte de service créé pour le téléchargement de symboles, comme décrit ci-après: https://firebase.google.com/docs/crash/ios#set_up_crash_reporting

4
user1122778

permettez-moi d'ajouter des réponses, de renommer le fichier json en ServiceAccount.json, de le déposer dans le dossier des pods de xcode et de remplacer le chemin suggéré par Google par celui-ci.

# 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

Il y avait une erreur dans la documentation: les étapes ont été omises. Le rôle du "compte de service de téléchargement de symboles" doit disposer des privilèges de l'éditeur pour mettre à jour la base de données de symboles. Ce qui suit ("étape 1½") aurait dû apparaître entre les étapes 1 et 2.

Pour vous assurer que le compte de service dispose d'une autorisation en écriture:

  1. Sur le Les permissions page, sélectionnez JE SUIS dans le menu de gauche.
  2. Tapez "Symbol Upload" dans la boîte de recherche.
  3. Le "compte de service Symbol Upload" doit avoir au moins le rôle "Editeur".

Désolé pour la confusion.

4
Robert Menke
  1. Veillez à attribuer au "compte de service Symbol Upload" le projet> le rôle d'éditeur lors de la création du compte de service. Le compte de service n'apparaîtra pas dans Autorisations> IAM si vous oubliez d'attribuer un rôle.
  2. Lorsque le script d'exécution Xcode s'exécute, il crée deux fichiers dans le répertoire $HOME/Library/Preferences/: com.google.SymbolUpload.plist et com.google.SymbolUploadToken.plist. Si vous créez un nouveau compte de service (ou clé privée), vous devez supprimer ces deux fichiers pour effacer les informations de votre ancien compte de service. La documentation de Firebase le souligne, mais elle mérite d'être répétée.

 enter image description here

2
Jon

J'avais une erreur similaire lorsque j'ai essayé d'utiliser une deuxième base de données Firebase dans mon projet. Cependant, j'ai oublié d'avoir ajouté un code d'analyse des incidents au script d'exécution spécifique à la première base de données. Une fois que j'ai supprimé le code de script d'exécution dans les phases de construction, le problème avec le fichier de téléchargement de symbole a disparu. 

0
mjpablo23

Pour ceux d'entre vous qui sont désorientés par la deuxième étape du guide (mentionnée dans la réponse @Robert ci-dessus), vous devez être owner de l'application Firebase pour modifier les comptes de service.

0
Simon Bengtsson

A travaillé pour moi si vous l'ajoutez à partir de l'écran Compte de service. Cliquez sur Autorisations et ajoutez-le en tant qu'éditeur.

 enter image description here

0
warrantsuspect