179 votes

Erreurs de cacao sur la construction du projet

Je suis incapable de créer un projet qui utilise CocoaPods. Je reçois 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 fonctionner correctement et ajoute un projet Pods à mon espace de travail. J'ai essayé $ pod update mais cela n'aide pas.

Il semble que PODS_ROOT ne soit pas défini.

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'
 

172voto

asgoth Points 14599

J'ai eu un problème similaire lorsque j'ai apporté des modifications majeures à mon Podfile. Ma solution consistait à supprimer le fichier d'espace de travail et à exécuter à nouveau pod install :

 rm -rf MyProject.xcworkspace
pod install
 

68voto

Senseful Points 11193

TLDR: C'est probablement un bug avec Xcode et fermeture et la réouverture du projet est généralement la solution la plus simple. En supposant que tout est configuré correctement.


De temps en temps j'obtiens le même message d'erreur lors de la suppression de l' Pods répertoire, puis en exécutant pod install.

Tout s'affiche correctement dans le projet d'infos:

enter image description here

Cependant, lorsque je vais à la cible Définie par l'Utilisateur Paramètres de construction, la PODS_ROOT entrée est entièrement manquant ou est vide pour une ou plusieurs configurations. Qui provoque l'erreur suivante sur la compilation:

enter image description here

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

Si vous allez à la cible Paramètres de génération et d'un filtre à Tous, maintenant, vous pouvez voir l' PODS_ROOT sans erreurs:

enter image description here

Il doit maintenant construire sans erreurs.


Remarque: Même les Gousses de Cacao officiel AFNetworking iOS Exemple a ce problème, ce qui m'amène à croire que c'est un bug avec Xcode.

Un autre correctif est de modifier manuellement la configuration d' None, puis de revenir à sa valeur initiale:

enter image description here

32voto

Jagie Points 517

allez dans les "paramètres de construction" de la cible et assurez-vous que la valeur de "PODS_ROOT" est égale à "$ {SRCROOT} / Pods" dans la section "Défini par l'utilisateur".

entrer la description de l'image ici

30voto

abbood Points 5959

le problème est indiqué dans le message d'erreur:

 The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.`
 

Cependant, en plus de la solution proposée, il est préférable de simplement supprimer votre répertoire projectName.xcworkspace tous ensemble et de commencer à zéro (b / c, il aura des restes laids de vos précédentes installations de pod que même les cocapodes ne connaissent pas) comment réparer) puis exécutez

 pod install
 

28voto

Pedr Points 7873

Il semble donc que CocoaPods n'ai pas mis les Configurations pour mon Projet. Elles doivent être basées sur l' Pods.xcconfig qui se trouve dans l' Pods/Target Support Files/Pods. Pour obtenir que cela fonctionne, j'ai eu à faire ce qui suit:

  1. Faites glisser ce fichier dans mon Projet dans Xcode Xcode, en choisissant de ne pas copier.
  2. Maintenant, il est une référence dans notre projet, nous pouvons définir les configurations: enter image description here

J'ai ensuite eu une autre erreur de construction de ce qui peut ou peut ne pas avoir été associées. Le chemin d'accès au script shell défini dans l' Copy Pods Resources était incorrecte.

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

Résolu correctement. Il semble que SRCROOT a été l'ajout d'un supplément de dir qui n'existait pas dans le chemin. J'ai donc codé en dur le chemin d'accès au dossier du Projet.

Cela m'a permis de me construire.

Pourquoi est-il que tant de choses qui sont censés vous faire gagner du temps finissez de manger?

Remarque: Veuillez voir @abood de réponse pour l'explication.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X