web-dev-qa-db-fra.com

Le bac à sable n'est pas synchronisé avec le fichier Podfile.lock-ios

J'ai eu les erreurs suivantes après avoir essayé plusieurs réponses de google. 

PhaseScriptExecution Check\ Pods\ Manifest.lock /Users/Apple/Library/Developer/Xcode/DerivedData/Build/Intermediates/FoodSpot.build/Debug-
    iphonesimulator/FoodSpotTests.build/Script-36819C3C1B6A30F50091382D.sh
        cd "/Users/Apple/Downloads/FoodSpot 2"
        /bin/sh -c /Users/Apple/Library/Developer/Xcode/DerivedData/Build/Intermediates/FoodSpot.build/Debug-iphonesimulator/FoodSpotTests.build/Script-36819C3C1B6A30F50091382D.sh

    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.

J'ai mis à jour et installé plusieurs fois, mais elles ne sont d'aucune utilité.

18
Abdul Nouzil

Exécutez 'pod install' ou mettez à jour votre installation CocoaPods.

Vous avez la réponse dans l'erreur elle-même!

Le message d'erreur indique que vous devez mettre à jour votre CocoaPods installation.

Vous pouvez supprimer libPods dans les frameworks et les bibliothèques et mettre à jour les Cocoapods avec pod install.

Également:

nettoyer et construire le projet

SO références:

Erreurs CocoaPods sur la construction du projet

Erreur: "Le bac à sable n'est pas synchronisé avec le fichier Podfile.lock ..." après l'installation de RestKit avec des cocoapods

13
Tharif

Pour moi, cela fonctionne après ce qui suit:

pod deintegrate --verbose    
pod install --verbose
25
David Cheung

Pour moi, la raison était missign des variables définies par l'utilisateur dans les paramètres de construction!

En examinant le problème, Build Phases tente de différencier 2 fichiers.

diff "${PODS_PODFILE_DIR_PATH}/Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null

Juste à cause des variables PODS_PODFILE_DIR_PATH et PODS_ROOT manquantes, les suppose comme "" ainsi $ {PODS_PODFILE_DIR_PATH} /Podfile.lock pointe vers /Podfile.lock et identique pour l’autre.
Donc il échoue dans

diff /Podfile.lock and /Manifest.lock

J'ai résolu ce problème en ajoutant 2 paramètres définis par l'utilisateur aux paramètres de construction.

PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.

Après des heures de recherche, c’est la seule solution qui a fonctionné pour moi.

11
Arthur Kazemi

Supprimer les données dérivées a fait l'affaire pour moi. J'ai supprimé en allant dans le Finder lui-même.

2
Martin Jacob

Allez simplement dans les phases de construction et cliquez sur [CP], cochez Pods Manifest.lock. 

diff "${PODS_PODFILE_DIR_PATH}/Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null

Les paramètres PODS_PODFILE_DIR_PATH et POD_ROOT doivent tous deux être définis dans les paramètres de construction définis par l'utilisateur. POD_ROOT doit avoir un chemin correct vers le fichier Manifext.lock et POD_PODFILE_DIR_PATH doit avoir un chemin correct pour Podfile.lock

Donc, ajoutez ci-dessous dans les paramètres de construction.

PODS_ROOT ---- ${SRCROOT}/Pods

PODS_PODFILE_DIR_PATH ---- ${SRCROOT}
2
Sudhir Mann

Apportez les modifications dans le podfile comme indiqué ci-dessous:

Ancien fichier pod

target: TargetName,: exclusive => true do

Fichier pod modifié

cible 'TargetName' do

2
Apurv Pandey

Je suis à peu près sûr que vous avez ouvert l'espace de travail de votre projet dans lequel vous essayez d'installer de nouveaux pods. Alors essayez ce qui suit (pour moi cela a fonctionné):

  1. Nettoyer le projet
  2. Fermer le projet
  3. Exécuter pod install
  4. Ouvrez le projet et essayez de le reconstruire une fois de plus

Le problème a peut-être été résolu.

1
Randika Vishman

Dans mon cas, j'ai eu la même erreur après l'intégration de mes autres cibles. Pour résoudre le problème, je devais ajouter les deux cibles dans Podfile:

abstract_target 'myApp' do
   use_frameworks!

   pod 'Alamofire', '~> 3.0'
   pod 'SwiftyJSON'

    target 'myAppOtherTarget'
end
1
Burak Öztürk

Assurez-vous d’ajouter une étape de construction en ligne de commande «Installation pod» avant l’étape de compilation Xcode Project.

L'erreur provient du script d'exécution de la phase de construction de la cible de votre projet Xcode, qui est incapable de trouver Podfile.lock. Ce fichier est généré par CocoaPods, qui doit être installé dans une étape de construction de votre projet TeamCity.

Mes étapes de construction ressemblent à:

  1. Ligne de commande: bundle install --path .bundle (installe des cocoapods locaux dans le projet à l’aide de Gemfile).
  2. Ligne de commande: bundle exec pod install --verbose (utilise Podfile)
  3. Ligne de commande: carthage update --platform iOS (utilise Cartfile)
  4. Projet Xcode
  5. Ligne de commande pour construire une archive
  6. Ligne de commande pour télécharger une version

J'espère que cela t'aides.

1
Gurpartap Singh

Je cherchais depuis des heures et j’ai trouvé les solutions suivantes:

Dans mon cas, la méthode 3 fonctionne.

Méthode 1:

  1. choisissez la cible> allez dans Build Phrases> cliquez sur Link Binary With Libraries> supprimez tous les fichiers libPods.a
  2. ouvrez Terminal> directement à votre projet> exécutez:

     pod install
    
  3. projet de nettoyage et de construction

ref.1

Méthode 2:

  1. ouvrez Terminal> directement à votre projet> exécutez:

    pod deintegrate --verbose    
    pod install --verbose
    

ref.2

Méthode 3:

  1. choisissez la cible> allez à Build Settings> cliquez sur le signe "+" 
  2. ajouter 2 paramètres définis par l'utilisateur: [à gauche = à droite]

    PODS_ROOT = ${SRCROOT}/Pods
    

    et

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

réf.3

0
Eddie

Le problème est Podfile.lock et Manifest.lock ne peuvent pas être trouvés par le script Check Pods Manifest.lock dans la phase de construction de vos cibles.

 enter image description here

Cela est généralement dû au fait que les variables PODS_PODFILE_DIR_PATH et PODS_ROOT ne sont pas définies.

Allez à l'onglet Paramètres de construction pour les définir.

 enter image description here

Vous devrez rechercher Podfile.lock et Manifest.lock dans votre projet et obtenir le chemin complet de leurs répertoires. Les chemins de répertoire seront les valeurs que vous utilisez pour PODS_PODFILE_DIR_PATH et PODS_ROOT.

0
Jack

Je suis maintenant confronté au même problème et résolu à l’aide de cette commande après la navigation vers l’emplacement du projet dans le terminal.

pod install --repo-update
0
Gobi M

J'ai eu le même problème. En fait, la version cocoapods de Manifest.lock était supérieure à celle de mon Mac. Je devais faire un «Sudo gem install cocoapods» pour obtenir la version des cocoapods jusqu’à ce qui était spécifié dans le fichier Manifest.lock. Cela a corrigé le problème et je n’ai commis aucune erreur lors de la construction du projet. 

0
henly

J'ai résolu ce problème en ajoutant 2 paramètres définis par l'utilisateur aux paramètres de construction.

PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
0
Fabio Valencio

Dans mon cas, les erreurs se produisaient sur une cible _Tests. Je n'avais pas besoin de la cible _Tests et je l'ai donc supprimée. Cela a résolu l'erreur.

0
Chris Prince

Cela se produit si les cosses de cacao ne sont pas installées ou désinstallées correctement

Si vous voulez installer des cabosses de cacao 

pod install

si vous vous voulez désinstaller des cosses de cacao alors exécutez la commande

pod deintegrate
0
Manish

Si vous déplacez votre fichier podfile comme je le faisais et faites face à ce problème, la solution présentée ci-dessous peut vous aider -

  1. Supprimez tous les éléments suivants: dossier Pods, fichier xcworkspace , Fichier podlock (ignorez ceux qui ne sont pas disponibles pour les sous-dossiers).
  2. supprimer toutes les étapes comportant [cp] dans l'onglet de la phase de construction
  3. répétez les étapes 1 et 2 pour tous les sous-projets que vous avez dans votre espace de travail.
  4. ouvrez un espace de travail, accédez à chaque projet et supprimez le cadre des pods, puis supprimez le dossier des pods de chaque projet
  5. fermer l'espace de travail
  6. lancer l'installation du pod

vous devriez maintenant pouvoir ouvrir, construire et exécuter le projet

0
Deepak Badiger