Erreurs de CocoaPods sur la construction du projet

je suis incapable de construire un projet qui utilise des CocoaPods. J'obtiens les erreurs suivantes:

diff: /../Podfile.lock: No such file or directory
diff: Manifest.lock: No such file or directory error: 
The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.`

$ pod install semble bien fonctionner et ajoute un projet Pods à mon espace de travail. J'ai essayé $ pod update mais ça n'aide pas.

il semble que PODS_ROOT ne soit pas fixé.

Podfile:

platform :ios, '6.0'

workspace 'Example.xcworkspace'
xcodeproj 'example/Example.xcodeproj' 

pod 'TestFlightSDK', '~> 1.3.0-beta.5'
pod 'TestFlightLogger', '~> 0.0.2'
pod 'CocoaLumberjack', '~> 1.6.2'
pod 'Reachability', '~> 3.1.0'
pod 'SBJson', '~> 3.2'
pod 'MKMapViewZoom', '~> 1.0.0'
175
demandé sur Undistraction 2013-06-12 22:11:10

29 réponses

j'ai eu un problème similaire quand j'ai fait des changements majeurs à mon Podfile. Ma solution a été de supprimer le fichier de l'espace de travail et d'exécuter pod install de nouveau:

rm -rf MyProject.xcworkspace
pod install
167
répondu asgoth 2013-10-02 07:23:48

TLDR: il s'agit très probablement d'un bogue avec Xcode et la fermeture et la réouverture du projet est généralement la solution la plus simple. En supposant que tout le reste est correctement configuré .


il m'arrive d'avoir la même erreur en supprimant le répertoire Pods et en lançant pod install .

tout semble correct dans le projet info:

enter image description here

cependant, lorsque je passe aux paramètres de construction définis par L'utilisateur de la cible, L'entrée PODS_ROOT est soit totalement manquante, soit vide pour une ou plusieurs configurations. Qui provoque l'erreur suivante sur build:

enter image description here

la solution la plus simple est de fermer le projet dans Xcode et le rouvrir .

si vous allez à la construction de la cible Paramètres et filtre sur tous , vous verrez maintenant la PODS_ROOT entrée sans erreurs:

enter image description here

il devrait maintenant construire sans erreurs.


Note: même L'exemple AFNetworking iOS de Cocoa Pods a ce problème, ce qui me porte à croire qu'il s'agit d'un bug avec Xcode.

une solution alternative consiste à changer manuellement la configuration à None , puis retour à sa valeur d'origine:

enter image description here

68
répondu Senseful 2017-05-23 10:31:15

allez à la section Build Settings de la cible et assurez-vous que la valeur de PODS_ROOT égale ${SRCROOT}/Pods dans la section" défini par l'utilisateur".

enter image description here

32
répondu Jagie 2015-01-04 16:15:26

mise à jour: un podfile.lock et ne devrait pas être ignoré par le contrôle de version, il garde une trace des versions de bibliothèques installées à une certaine pod installer. (Il est similaire à gemfile.lock et compositeur.lock pour la gestion des dépendances de rails et php, respectivement). Pour en savoir plus s'il vous plaît lire le docs . Le crédit va à cbowns .


dans mon cas, ce que j'ai fait, c'est que je faisais un peu de ménage pour mon projet (c'est-à-dire étendre les tests d'intégration comme un sous-module git.. suppression des fichiers dupliqués, etc.).. et a poussé le résultat final à un git remote repo.. tous les clients qui cloné mon repo souffert de l'erreur ci-dessus. Inspiré par le commentaire ci-dessus de Hlung , j'ai réalisé qu'il y avait des scripts de pod pendants qui tentaient de s'exécuter contre certains des fichiers inexistants. Donc je suis allé à ma phase de construction de cible, et a supprimé toutes les phases restantes qui avaient quelque chose à voir avec les gousses de cacao (et le commentaire de Hlung il suggère de supprimer Copy Pods Manifest.lock et copy pod resources .. les miens ont été nommés différents peut-être B / C j'utilise Xcode 5.. le but étant de supprimer ces phases de construction pendantes)..

30
répondu abbood 2017-05-23 12:02:53

il semble donc que les CocoaPods n'ont pas défini les Configurations pour mon projet. Ils doivent être basés sur le Pods.xcconfig qui se trouve dans le Pods/Target Support Files/Pods . Pour que cela fonctionne, j'ai dû faire ce qui suit:

  1. faites glisser ce fichier dans mon projet Xcode en Xcode, en choisissant de ne pas le copier.
  2. maintenant il y a une référence dans notre projet, nous pouvons définir les configurations: enter image description here

je puis avait une autre erreur de construction qui peut ou non avoir été liée. Le chemin vers le script shell défini dans le Copy Pods Resources était incorrect.

"${SRCROOT}/Pods/Pods-resources.sh"

résolu incorrectement. Il semblait que SRCROOT ajoutait un dir supplémentaire qui n'existait pas dans le chemin. Donc j'ai codé le chemin vers le dossier du projet.

cela m'a permis de construire.

pourquoi tant de choses qui sont censées vous faire gagner du temps finissent-elles par vous ronger?

Note: s'il vous Plaît voir @abood de réponse pour l'explication.

28
répondu Undistraction 2013-10-08 09:33:39

j'ai un problème similaire, c'est ce qui a fonctionné:

  1. Dans Xcode:
    • Propre
    • Supprimer des Données Dérivées dans Xcode/Fenêtre/Organisateur/Projet/Votre Projet
    • répertoire Pod (il contient des fichiers de configuration, supprimer des fichiers pas seulement des références!)
    • supprime toutes les références aux fichiers de configuration de pod pour chaque cible dans le projet / Configurations (débogage/release)
    • Supprimé "cibles/phases de construction/copier Pods ressources" de toutes les cibles
    • "151930920 cibles "supprimées" / paramètres de construction / défini par L'utilisateur / PODS_ROOT "de toutes les cibles
  2. Quit Xcode
  3. dans l'Annuaire de vos projets:
    • rm-rf Pods
    • (optionnel) rm-rf YourProject.xcworkspace
    • rm-rf Podfile.serrure
  4. pod installer
  5. Ouvrez Votre Projet.xcworkspace en Xcode
20
répondu Tibidabo 2016-03-18 04:11:23

je me suis débarrassé du même problème en faisant les étapes suivantes:

  • Xcode->Product->Clean Build Folder (maintenez alt sur le Produit pour le voir)
  • ouvrir Xcode->Window->Organizer et sélectionner Projects onglet. Ensuite, trouver votre projet et supprimer derived data du projet.
15
répondu Timuçin 2014-01-07 14:56:27

Simplement résolu en procédant de la manière suivante:

  • (sudo) gem install cocoapods

  • pod installer

  • clean and build

il semble que le problème ait été causé par un des membres de notre équipe ayant une installation plus récente de cocoapods gem.

10
répondu Diego 2014-10-06 08:14:24

  1. ouvert .XCODEPROJ fichier dans le texte sublime
  2. supprimer ces deux lignes, si vous avez des dossiers pods propres, Je veux dire si vous avez les erreurs ci-dessus après que vous avez enlevé dossier pods
9
répondu Ivan Zhang 2015-05-13 05:04:23

avait le même numéro disant /Pods/Pods-resources.sh: pas de tel fichier ou répertoire même après que les fichiers etc liés aux gousses ont été supprimés.

s'est débarrassé de lui en allant à la cible->phases de construction et puis en supprimant la phase de construction"copier Pod Resources".

6
répondu roshi 2014-04-09 04:32:19

j'ai eu le même problème récemment. J'ai essayé tous les conseils possibles, rien sauf ce plugin qui a fonctionné pour moi:

https://github.com/kylef/cocoapods-deintegrate

après le nettoyage de l'intégration actuelle des cocoapods, ce qui reste à supprimer sont Podfile, Podfile.serrure et de la .xcworkspace. Ensuite, il suffit de l'installer une fois de plus.

j'espère que je vais aider quelqu'un avec cette.

4
répondu Chiara 2015-07-31 11:05:01

ce problème a été résolu.

  1. sélectionner cible de votre projet
  2. Sélectionner Paramètres De Construction
  3. ouvert défini par L'utilisateur liste déroulante
  4. Change value of key PODS_ROOT to ${SRCROOT} / Pods

Screenshot for above steps

3
répondu Jayprakash Dubey 2015-08-06 12:10:32

je pense qu'il y a un bug ici.

Pour moi, je supprime le dossier Pods et Podfile.lock et je refais le pod install pour résoudre le problème.

Ce message est ignorant..: (

3
répondu Johnny 2015-08-27 15:46:23

ce n'était pas très intuitif. Je suis allé aux paramètres du projet de base, puis j'ai codé les chemins vers mon module.verrouillez la capsule.manifeste en vertu de Vérifier les Gousses Manifeste.lock, parce qu'ils sont restés dans différents dossiers en fait, donc mes chemins ressemblaient à ceci:

diff "/Users/admin/Desktop/Experimental/projectfolder/Podfile.lock" "/Users/admin/Desktop/Experimental/projectfolder/Pods/Manifest.lock" > /dev/null
if [[ $? != 0 ]] ; then
    cat << EOM
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
EOM
    exit 1
fi
2
répondu Vladimir Stazhilov 2014-01-13 16:51:08

Vous pouvez essayer ce qui suit. Il fixe pour moi.

  1. install gem install cocoapods-deintegrate
  2. installer gem install cocoapods-clean
  3. goto pod deintegrate
  4. pod propre
  5. pod installer

les plugins seront supprimés des cocoapods pour votre projet et seront installés récemment.

2
répondu MD Aslam Ansari 2016-04-30 07:40:17

dans mon cas, il s'agissait d'une cible de test que j'ai retiré toutes les gousses de l'intérieur de mon podfile (parce que j'ai ajouté des gousses dont je me suis rendu compte plus tard que je n'avais pas besoin dans cette cible). Aucune des autres solutions ici a fonctionné pour moi.

  1. c'est la cause du problème.

  2. supprimer la section intitulée" Manifeste des nacelles de contrôle "et" nacelles de copie". Ressources"

  3. Dans "lien binaire avec les bibliothèques" supprimer libPods-YourTarget.a

  4. dans les paramètres de votre projet dans L'onglet Info étendre "Configurations" et définissez la configuration de la cible à None pour debug et publier. (Cela permettra de corriger quelques fichier manquant mises en garde)

  5. supprimer les données dérivées de votre projet (fenêtre > Projets > Supprimer [suivant pour votre projet) et redémarrez Xcode. Build / run cible.

2
répondu shim 2016-05-13 14:14:46

cela a fait ma journée!

  1. suppression du fichier Podfile.verrouillez le fichier dans votre dossier de projet
  2. supprimer le dossier Pods dans votre dossier projet
  3. exécuter pod install dans votre dossier de projet
  4. Faire un "Nettoyage" dans Xcode
  5. reconstruire votre projet
2
répondu alitosuner 2016-05-31 19:33:50

Dans mon cas, le problème était dans le mauvais sens. solution ici http://guides.cocoapods.org/using/troubleshooting.html

si quelque chose ne semble pas fonctionner, assurez-vous d'abord que vous êtes ne pas complètement supplanter toutes les options définies à partir des gousses.fichier xcconfig dans votre projet de construction de paramètres. Pour ajouter des valeurs aux options de votre paramètres de construction du projet, préparez la liste des valeurs avec $(hérité) .

1
répondu R00We 2014-01-14 09:47:08

j'ai eu ce problème.

la façon dont je l'ai corrigé était en supprimant complètement le Pod implémentant et re-implémentant. Assurez-vous de supprimer "copier Pods ressources" et "vérifier Pods manifeste.verrouiller" de "phases de construction" sur toutes les cibles comme indiqué ici: Comment supprimer CocoaPods d'un projet?

1
répondu dloomb 2017-05-23 10:31:15

pour me débarrasser de cette erreur, j'ai dû supprimer le répertoire Pods et supprimer le fichier Podfile.lock .

1
répondu BlackHatSamurai 2015-08-12 23:48:22

dans mon cas, J'ai mis Podfile.lock & Manifest.verrouillez le contrôle source, mais j'ai oublié D'ajouter Pods-Project.debug(libération).XCCONFIG fichiers au contrôle source (en ajoutant par erreur *.xcconfig .gitignore), puis j'ai eu les mêmes erreurs de compilation avec exactement la même raison, PODS_ROOT n'est pas défini.

donc si le but est qu'après le clonage de la repo, le projet peut immédiatement construire et exécuter, sans avoir CocoaPods installés sur la machine, vous ajoutez soit entier Pods directory dans le contrôle source ou ajouter Podfile.verrouillage, manifeste.lock, les fichiers XCCONFIG du projet et les fichiers XCCONFIG des Pods pour le contrôle source.

Je n'ai pas mis le privé .xcconfig qui fusionne les paramètres de construction avec la configuration de CocoaPods par défaut pour le contrôle source.

1
répondu Qiulang 2016-03-14 08:59:40

j'ai créé plusieurs cibles avant d'utiliser des gousses. Plus tard, quand j'ai commencé à compiler les autres objectifs, j'ai dû ajouter link_with avec la liste des cibles dans mon Podfile.

0
répondu Vladimír Slavík 2015-05-10 20:44:56

j'ai eu le même problème. Après avoir retracé mes dernières étapes, j'ai trouvé que ajoutant une déclaration de cible pour une nouvelle cible, suivie de l'exécution pod install, était la cause du problème:

enter image description here

la réinitialisation de ma branche et le nettoyage de mon projet n'ont pas fonctionné, puisque les Cocoapods ont modifié au moins un fichier qui est et non sous contrôle source. Je sais cela parce qu'une fois que j'ai réinitialisé la branche distante à un commit avant d'ajouter la cible supplémentaire, et re-cloné le repo, le problème n'existait plus.

0
répondu Sheamus 2016-04-01 18:11:09

si vous avez une cible watchOS: j'ai constaté que soudainement, ayant des gousses dans la montre extension mais pas dans la cible de montre elle-même cassé les choses avec cette même erreur. La solution était d'ajouter les gousses de la montre cible également.

0
répondu xaphod 2016-07-15 17:36:58
gem install xcodeproj

peut vous aider.

Voir pod installation échoue avec abort - Nouvelle Swift projet .

0
répondu Leo 2017-03-12 05:53:58

si vous avez ajouté une nouvelle cible après la création de Podfile, il suffit de supprimer Podfile, Podfile.serrure, pods et espace de travail puis pods init - > puis mettez vos pods pod install

0
répondu mohammad alabid 2017-07-18 20:20:51

après avoir essayé ce qui précède, j'ai réalisé que je recevais une erreur sur pod install

[!] CocoaPods n'a pas défini la configuration de base de votre projet parce que votre projet a déjà une configuration personnalisé défini.

cela causait l'erreur, parce que les cocoapods n'ajoutaient pas le .xcconfig fichier de mon projet.

pour résoudre ce problème, je suis allé à l'onglet Info de mon projet. Mettre mon Basé sur Fichier de Configuration à None pour tous les schémas et cibles. Puis réédité pod install

Voir ce lien pour plus d'informations. avertissement Cocoapods-CocoaPods n'a pas défini la configuration de base de votre projet parce que votre projet a déjà un ensemble de configuration personnalisé

0
répondu Matt Hudson 2018-01-20 03:11:44

après avoir passé des heures j'ai trouvé la solution aller à " construire des Phases" Puis " Vérifier Les Gousses Manifestes.verrouillage" Cochez "exécuter le Script uniquement lors de l'installation"

me Remercier plus tard ;) enter image description here

0
répondu Abdul Hadi Siraj 2018-02-27 22:33:35

j'ai eu le même problème avec mon projet ionique , j'ai essayé surtout des solutions mais pas de chance.

si vous avez toujours le même problème, vérifiez que les conditions météorologiques ci-dessous sont présentes dans Build Settings -> User-Defined settings ou non

1. PODS_ROOT 2. PODS_PODFILE_DIR_PATH

Si pas présent, alors l'ajouter,

PODS_ROOT = ${SRCROOT}/Pods

PODS_PODFILE_DIR_PATH = ${SRCROOT}/

Il va résoudre le problème, la solution lien

0
répondu Onkar 2018-04-13 11:48:21