Autorisation Pods-resources.sh refusée dans le projet iOS


87

J'ai un projet existant d'un client et j'ai essayé de l'exécuter sur mon MAC en utilisant XCode 5.0

Mais je suis confronté à cette erreur suivante. J'ai installé Cocoa Pods mais ne fonctionne toujours pas. Ce projet fonctionne correctement sur la machine des autres développeurs. J'ai vraiment besoin de cela dans ma machine.

Qu'est-ce que je manque? Toute aide est grandement appréciée.

Merci d'avance.

entrez la description de l'image ici

Réponses:


164

Vous devez rendre le script exécutable. Ouvrez le terminal et exécutez cette commande:

chmod a+x "/Users/shovon0203/Desktop/My Work/oDesk/momenTOGO/MomenTOGO_iPhone/Pods/Pods-resources.sh"

2
votre commande fonctionne mais pas à partir du terminal: P, j'édite le script des pods et j'utilise la commande ci-dessus et maintenant ça marche :) merci mec!
Waqas Haider Sheikh

1
Cela m'arrive lorsque je démarre un nouveau projet, installe des pods sur mon ordinateur personnel puis continue le projet sur mon ordinateur portable. Existe-t-il un moyen de définir l'autorisation par défaut de frameworks.sh pour ne pas avoir à le faire dans le terminal chaque fois que je transfère mon projet entre mon ordinateur personnel et mon ordinateur de travail? Merci
aresz

6
L'exécution de la commande ci-dessus avec "sudo" a résolu le problème.
Saikiran K

Puisque j'utilise Subversion avec mon projet, ce n'était qu'une solution temporaire car lorsqu'une autre personne extrairait initialement ce fichier, les droits d'exécution seraient à nouveau perdus. utiliser svn propset svn:executable '*' <file>pour résoudre ce problème.
ndreisg

J'ai essayé cette commande et cela n'a pas fonctionné. Ensuite, j'ai essayé la commande avec sudo qui ne fonctionnait pas non plus. Ensuite, j'ai ajouté un paramètre défini par l'utilisateur aux paramètres de construction dans xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /". C'est ce qui m'a résolu. Il semble que l'erreur Autorisation refusée soit assez trompeuse car le script n'a pas pu trouver le fichier.
CantThinkOfAnything

36

Essayez ceci, fonctionne comme un charme!

rm -rf Pods/ Podfile.lock
pod install

2
Cela a fonctionné pour moi, mais pas besoin de supprimer le Podfile.lockfichier.
Fantini

18

L'exécution pod installdans le répertoire principal du projet où se trouve votre fichier pod devrait résoudre le problème


10

Vous devez rendre le script exécutable. Ouvrez le terminal et exécutez cette commande:

chmod a+x "your_path(where show permission denied)"

Veuillez vérifier s'il n'y a pas d'espace dans le nom du dossier, puis ajoutez '\' avant


6

pour moi, désintégrer tous les pods puis les réinstaller a fait l'affaire:

pod deintegrate
pod install

5

Supprimez simplement le dossier Pods-[Your_Project_Name]complètement et faites une nouvellepod install


5

Ces étapes ont fonctionné pour moi après avoir échoué à plusieurs reprises.

ÉTAPE 1: accédez à l'emplacement du dossier contenant Pods-resources.sh

ÉTAPE 2: Ouvrez le type de terminal cd, puis faites glisser le dossier contenant Pods-resources.sh vers le terminal et appuyez sur Entrée.

ÉTAPE 3: exécutez cette commande >> chmod a + x Pods-resources.sh

ÉTAPE 4: redémarrez xcode et ouvrez votre xxx.xworkspace

ÉTAPE 5: profitez


1
Après de longues recherches sur ce problème, celui-ci fonctionne parfaitement dans mon cas. Une correction est lorsque vous exécutez la commande, veuillez suivre ceci: chmod a + x Pods-ProjectName-resources.sh
Mohd Sadham le

Bon à entendre, bon codage.
Odwori le

3

La réponse ci-dessus fonctionne. Cependant, j'avais le même problème, mais c'était récurrent. Il s'agissait de faire vérifier la même succursale sur plusieurs machines. Cela fonctionnerait sur une machine et pas sur les autres. Nous utilisons TFS comme notre contrôle de code source (il est OK, vous pouvez juger), qui ne joue pas bien avec .sh, .pyfichiers , etc.. Nous avons dû ajouter un .tpattributesfichier à chaque répertoire contenant un fichier .shou .pyafin de pouvoir exécuter .shet des .pyfichiers en tant qu'exécutables.

Les entrées du .tpattributesfichier ressemblent à ceci:

Pods-MyTarget-frameworks.sh:x
Pods-MyTarget-resources.sh:x

Cela se traduit par chmod +x "Pods-MyTarget-frameworks.sh"

Fonctionne comme un charme!


où vous avez placé: .tpattributesfichier?
el.severo

Dans Pods> Target Support Files> Pods- [Target Name]
tentmaking

merci, ajouté mais toujours le problème suivant . Que suggérez-vous d'autre? (PS - voici le contenu du script et ici il plante)
el.severo

@tentmaking Je viens de rencontrer le même problème avec TFS. Pouvez-vous fournir un peu plus d'informations sur la façon dont vous avez résolu ce problème?
steventnorris

@steventnorris Nous avons ajouté un fichier (.tpattributes) à chaque répertoire Pods- [Target] (trouvé dans Pods> Target Support Files> Pods- [Target] dont l'entrée est visible dans ma réponse ci-dessus. Je ne sais pas de quelles autres informations vous avez besoin.
fabrication de tentes

1

J'ai posté ceci comme un commentaire à la réponse de Kevins https://stackoverflow.com/a/19687227/3114383 . Mais j'ai pensé que je pourrais aussi bien le présenter comme réponse parce que les gens trouveront cela plus facile comme ça et cela résoudra mon problème. Cela pourrait également fonctionner pour d'autres: D

J'ai essayé d'exécuter la commande chmod à partir de kevins answer et cela n'a pas fonctionné. Ensuite, j'ai essayé la commande avec sudo qui ne fonctionnait pas non plus. Ensuite, j'ai ajouté un paramètre défini par l'utilisateur aux paramètres de construction dans xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /". C'est ce qui m'a résolu. Il semble que l'erreur Autorisation refusée soit assez trompeuse car le script n'a pas pu trouver le fichier.


Salut @CantThink! Pourriez-vous donner un exemple sur la façon dont vous avez ajouté ce paramètre?
Gehlen

1
@Gehlen Vous pouvez définir ce type de paramètres dans la section des paramètres de construction xcode. Voir medium.com/@kavithakumarasamy89/…
CantThinkOfAnything

Que vous @CantThink, très insaisissable!
Gehlen

Salut @CantThinkOfAnyThing! Oui je l'ai fait! Mais dans mon cas, je configurais CI sur bambou, et le problème était que j'essayais d'accéder à $ TMPDIR sur les phases de construction, donc je n'ai pas d'accès .. Je viens de le supprimer et fonctionne! Merci quand même !
Gehlen

@Gehlen heureux de pouvoir aider :)
CantThinkOfAnything

0

J'ai également été confronté à ce problème. Ce que j'ai fait, c'est:

  1. Créer un tout nouveau projet avec le même nom et le même nom de package
  2. Dans le terminal du répertoire du projet Pod init
  3. Ouvrez le fichier pod dans un éditeur
  4. Copiez et collez les anciens fichiers de pod de projet dans le nouveau
  5. Copiez tous les fichiers et ressources dans le nouveau projet
  6. Faites simplement pod install

0

J'ai rencontré le même problème avec Pods-project-frameworks.sh, résolu en supprimant la première ligne #!/bin/shdu fichier Pods-project-frameworks.sh.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.