web-dev-qa-db-fra.com

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

J'ai rencontré un problème étrange après l'installation de RestKit avec des cocopodes . Après avoir résolu la dépendance à RestKit pour mon projet avec des cocopodes et en essayant de le construire, je fais face à cette erreur: 

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

J'ai cherché mais je n'ai pas trouvé de solution claire. 

voici quelques clichés: enter image description here

enter image description here

  PODS:
  - AFNetworking (1.3.3)
  - RestKit (0.20.3):
    - RestKit/Core
  - RestKit/Core (0.20.3):
    - RestKit/CoreData
    - RestKit/Network
    - RestKit/ObjectMapping
  - RestKit/CoreData (0.20.3)
  - RestKit/Network (0.20.3):
    - AFNetworking (~> 1.3.0)
    - RestKit/ObjectMapping
    - RestKit/Support
    - SOCKit
  - RestKit/ObjectMapping (0.20.3)
  - RestKit/Search (0.20.3):
    - RestKit/CoreData
  - RestKit/Support (0.20.3):
    - TransitionKit (= 1.1.1)
  - RestKit/Testing (0.20.3)
  - SOCKit (1.1)
  - TransitionKit (1.1.1)

DEPENDENCIES:
  - RestKit (~> 0.20.0)
  - RestKit/Search (~> 0.20.0)
  - RestKit/Testing (~> 0.20.0)

SPEC CHECKSUMS:
  AFNetworking: 61fdd49e2ffe6380378df37b3b6e70630bb9dd66
  RestKit: 1f181c180105a92f11ec4f6cd7de37625e516d83
  SOCKit: 2f3bc4d07910de12dcc202815e07db68a3802581
  TransitionKit: d0e3344aac92991395d4c2e72d9c5a8ceeb12910

COCOAPODS: 0.29.0
175
Hashem Aboonajmi

J'ai pu résoudre ce problème en mettant à jour CocoaPods.

I. Nettoyage de projet

  1. Dans le navigateur de projet, sélectionnez votre projet.
  2. Sélectionnez votre cible
  3. Supprimer tous les libPods * .a dans Construire les phases> Lier le binaire avec des bibliothèques

II. Mettre à jour CocoaPods

  1. Lancez Terminal et allez dans le répertoire de votre projet.
  2. Mettre à jour CocoaPods à l'aide de la commande pod install
265
Mr. Fahrenheit

Après de nombreuses tentatives, j'ai réussi à résoudre ce problème. La variable $ {PODS_ROOT} n’a pas été définie et je fais le tour ci-dessous . Accédez à Phases de construction -> Vérifier le manifeste des pods.

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

à 

diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null

Ça m'aide.

76
comm1x

Si vous supprimez tous les pods de votre cible dans le fichier podfile, par exemple, 

target 'myTarget' do
pod 'great-stuff', '~> 4.0'  // you deleted this last pod
end

vous devrez supprimer manuellement ces étapes de construction de votre cible Xcode Build Phases

  • Vérifier les pods
  • Ressources du pod de copie

Cocoapods (version stable actuelle 0.37.2) n'effectue pas ce nettoyage lorsque vous exécutez pod install

43
100grams

Le retrait et la réinstallation des modules du projet ont fonctionné pour moi.

Il existe Nice référentiel GitHub qui peut complètement supprimer les pods du projet.

Il suffit de garder la sauvegarde de votre fichier PodFile et d’exécuter les commandes ci-dessous.

  • gem install cocoapods-deintegrate
  • gem installe cocoapods-clean
  • Allez dans le répertoire du projet et lancez pod deintegrate
  • Encore une fois, lancez pod clean
  • Exécutez pod install

Nettoyez et courez.

19
Teena nath Paul

Après avoir changé le nom de la cible

Mon problème était xcconfig avec d'anciens noms de cibles.

  • Je suis allé au fichier de projet -> info -> configuration
  • Ancien xcconfig supprimé (Debug & Release)
  • installation de pod

Il mettrait à jour à de nouveaux.

Aussi, si vous aviez des fichiers .h manquants, c'est la raison (le chemin de recherche des en-têtes de pods se trouve dans ces xcconfig)

12
avishic

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

target 'MyProject WatchKit App' do
    platform :watchos, '2.0'
    shared_pods
end

target 'MyProject WatchKit App Extension' do
    platform :watchos, '2.0'
    shared_pods
end

PS: Peut-être que cela m'est arrivé parce que j'avais installé par erreur des pods pour la cible MyProject WatchKit App au début.

5
Shyngys Kassymov

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

Dans mon cas, la méthode 1 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

3
Eddie

J'ai rencontré ce problème avec un fichier xcconfig mal configuré.

Le xcconfig généré par les pods n'était pas correctement inclus dans le xcconfig de personnalisation que j'utilisais. Cela a empêché la définition de $ PODS_ROOT, ce qui a entraîné l'échec de diff "/../Podfile.lock" "/Manifest.lock", pour des raisons évidentes, ce que Pods interprète de manière erronée comme un problème de synchronisation.

3
Mensly

Si vous voyez une erreur comme celle-ci:

diff: /../Podfile.lock: aucun fichier ou répertoire de ce type diff: /Manifest.lock: aucun fichier ou répertoire de ce type erreur: le bac à sable n'est pas synchronisé avec le fichier Podfile.lock. Exécutez 'pod install' ou mettez à jour votre installation CocoaPods.

Ensuite, il y a un problème avec Cocoapods dans votre projet. Parfois, les cocoapodes peuvent devenir désynchronisés et vous devez relancer l’initiation aux cocoapodes. Vous devriez pouvoir résoudre cette erreur en:

  1. Suppression du fichier Podfile.lock dans votre dossier de projet
  2. Suppression du dossier Pods dans votre dossier de projet
  3. Exécutez 'pod install' dans votre dossier de projet
  4. Faire un "nettoyage" dans Xcode
  5. Reconstruisez votre projet
2
David

Si vous téléchargez le projet à partir de github ou que vous le copiez d'un autre endroit, la bibliothèque de dépendances n'existe pas, ce problème se posera. 

Il vous suffit de cd au project/project_name directory dans le terminal, utilisez ls pour vérifier s'il existe un fichier Podfile.

s'il existe la Podfile, il vous suffit d'installer les dépendances:

pod install
2
aircraft

Pour moi, le problème était que j'avais créé une nouvelle cible dans mon application en dupliquant une cible existante, mais en oubliant d'ajouter la cible à la variable Podfile. Pour une raison quelconque, la cible clonée a fonctionné pendant des jours sans problèmes, mais après un certain temps, elle n'a pas pu être générée à cause de cette erreur. Je devais créer une nouvelle entrée de cible pour ma cible de projet cloné dans le fichier podfile, puis exécuter pod install.

2
gklka

J'ai trouvé ma solution: Exécuter: pod update au lieu de pod install. L'erreur a été corrigée!

2
bountyhunter

Mon problème était la version des gousses de cacao. J'ai donc installé la dernière version avec: Sudo gem install cocoapods --pre Then pod update

Cela a fonctionné pour moi

1
DariusV

J'ai tout essayé, mais le problème a persisté… .. Après cela, je l'ai fait et cela a fonctionné dès que possible (aussi lisse que possible).

  1. Ouvrez le fichier .xcworkspace. 
  2. Passez à l’ancien système de compilation si vous utilisez Cordova sur Xcode 10.
  3. Aller à la cible/projet de Podfile. Sélectionnez traget de déploiement 11+
  4. Puis changez le débogage et relâchez-le en Pods-.build/release. C'était App.debug/release dans mon cas. Pic attaché. J'espère que ça aide.  CHange the Debug Release in Pod
1
jolly

Les étapes qui ont fonctionné pour moi (XCode 8.3.3/XCode 9 beta with a Swift 3.1 project)

 - Navigate to your project directory
 - pod install //which then asks you to do the next step
 - pod repo update //takes a while to update the repo
 - pod update
 - pod install
 - Close Xcode session
 - Open and Clean the project
 - Build/Run

Aussimake sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods. Cela devrait résoudre les erreurs de liaison telles que "Echec de la commande Apple Mach -O Linker"

1
Naishta

Si vous postulez à la manière Project Cleanup et que votre projet est toujours en erreur. 

Vous pouvez aller à l'onglet Build Phases puis à Find Check Pods Manifest.lock et supprimer le script.

Puis tapez la commande pour supprimer le dossier Pods comme ceci rm -rf Pods

et vous devez ensuite supprimer Podfile.lock à l'aide de la commande rm Podfile.lock

Probablement, sur la base d’une situation, vous pouvez supprimer le fichier your_project_name.xcworkspace

Enfin, vous avez besoin de la commande pour installer Pod pod install --repo-update.

Si tout va bien, cette solution vient avec vous. Bonne codage :) 

1
Cuong Nguyen

Il suffit de nettoyer le projet et de construire à nouveau dans Xcode, cela a fonctionné pour moi. Vous n'avez pas besoin d'installer le pod à nouveau.

1
Khuong

Quand tu fais 

pod install --verbose

assure-toi:

1- Vous êtes dans le bon répertoire. La plupart du temps, lorsqu'un projet github est téléchargé, il y aura un dossier principal. Vous devez vous trouver dans le dossier du nom du projet (dossier principal/dossier du projet) dans le terminal avant d'appeler pod install --verbose.

2- Supprimez l'ancien dossier de verrouillage du pod, puis nettoyez le projet à l'aide de xcode clean & do pod install.

3- Gardez votre rvm à jour.

1
Gokhan Dilek

Veuillez suivre les étapes suivantes:

1: Suppression du fichier Podfile.lock dans votre dossier de projet

2: Suppression du dossier Pods dans votre dossier de projet

3: Exécutez 'pod install' dans votre dossier de projet

4: Faire un "nettoyage" dans Xcode

5: Reconstruisez votre projet

0
IKKA

J'ai accidentellement supprimé puis décompressé le dossier dans lequel j'ai essayé d'installer le pod.
C'était comme ça: 1) cd dans votre dossier de projet 2) Zip votre projet 3) supprimer le dossier du projet 4) décompresser le dossier à nouveau 5) à partir de maintenant même vous avez ce dossier, vous devriez aller à ce dossier à nouveau à partir du terminal

0
Nikolay Shubenkov

J'ai le même problème avec le dernier ComponentKit 0.14 . La raison en est que PODS_ROOT n'était pas défini et j'ai trouvé la solution, c'est d'ajouter une ligne à ComponentKit.xcconfig:

#include "../Pods/Target Support Files/Pods-ComponentKit/Pods-ComponentKit.debug.xcconfig"
0
Bang Nguyen

J'utilise l'installation des gousses de cacao du lot.

  • Installer le bundler
  • Ajouter Gemfile à la racine du projet
  • Ajouter les gemmes requis dans Gemfile
  • bundle install
  • et puis toujours utiliser bundle exec pod install

Si vous ne savez pas comment procéder de l'une de ces étapes, une recherche sur Google vous aidera:

0
Jasveer Singh

Ma réponse de travail est:

  1. Installez update vos cocoapods avec cette commande: pod update
  2. Installez vos nouveaux pods avec cette commande. installation de pod
  3. Dernière commande: Sudo gem installe des cocoapodes.
0
Gurpreet Singh
pod deintegrate <PROJECT>.XCODEPROJ // will deintegrate cocoapods
pod install // installs the pods
0
Sravan

Cela fait ma journée!

  1. Suppression du fichier Podfile.lock dans votre dossier de projet
  2. Suppression du dossier Pods dans votre dossier de projet
  3. Exécutez l’installation du pod dans votre dossier de projet
  4. Faire un "nettoyage" dans Xcode
  5. Reconstruisez votre projet
0
mstntsnr

Vérifiez dans votre projet que les pods ne sont peut-être pas envoyés à Git. Il est donc évident que la compilation va s’arrêter car elle ne trouve pas le répertoire Pods

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

J'ai résolu ce problème en émettant pod install dans le terminal après avoir accédé au répertoire de mon projet. 

En effet, j'avais une erreur cannot find pod command qui signifiait que cocoapods n'était pas installé. Ceci est corrigé via gem install cocoapods. Si vous obtenez une erreur de dépendance, installez simplement chaque commande signalée comme manquante. Dans mon cas, je devais mettre à jour Ruby. Après cela, cocoapods ont été installés correctement et j'ai pu utiliser la commande pod install.

PS. Si vous avez un répertoire Pods, essayez pod update. Peut-être que votre bibliothèque doit être mise à jour. 

0
sandalone

si vos cosses sont vides 

  1. supprimer les ressources de pods de copie et vérifier le manifeste de pods.
  2. verrouiller depuis les phases de construction les paramètres de votre projet 
0
dewanshu sharma

J'ai eu une erreur:

diff: /../Podfile.lock: Aucun fichier ou répertoire de ce type diff: /Manifest.lock: Aucune erreur de fichier ou de répertoire de ce type: le bac à sable n'est pas synchronisé avec Podfile.lock. 

J'ai tiré la demande de bitbucket pour la première fois. J'ai nettoyé mon projet et tout essayé (installation de pod, mise à jour de pod, etc.) mais aucune des réponses ci-dessus n'a fonctionné pour moi. Ensuite, je vérifie simplement le chemin où j’installais le pod, puis je le corrige puis je l’installe à nouveau. Cela a fonctionné. Assurez-vous d’indiquer le chemin juste avant .xcodeproj ou .xcworkspace (s’il existe déjà). Peut-être que quelqu'un en profite.

0
Simple Maurya

J'ai eu la même erreur. D'abord, je mets à jour les cocoapodes en utilisant

Sudo gem install cocoapods

puis installer des pods en utilisant la commande pod install a fonctionné pour moi.

0
GSK

Exécutez ceci et vos erreurs disparaîtront

rm -rf Pods && gem install cocoapods && pod install

0
Siraj Alam

Pour moi, travaillant en flutter, la configuration n'a pas été ajoutée automatiquement en raison de la configuration existante.

Ajout de #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig" à Flutter/Release.xcconfig et Flutter/Debug.xcconfig 

résolu le problème. 

0
Moritz Morgenroth

Si le code est dans un référentiel git, une simple réinitialisation et un nettoyage peuvent enregistrer la construction.

Assurez-vous de ne pas avoir de modifications en attente sur le référentiel avant:

git reset --hard
git clean -fxd
0
Vilmir

J'ai eu le même problème Je mets tout à jour au dernier De: Npm -v 6.4.1 Node -v v10.2.1 Pod --version 1.5. 3

to: npm -v 6.5.0 node -v v11.8.0 pod --version 1.6.0

et le réparer

0
user1628938

j'ai eu ce problème quand j'essayais de supprimer la bibliothèque précédemment installée

La réponse de @ Michal m'a aidé

Supprimer ou désinstaller la bibliothèque ajoutée précédemment: cocoapods

0
zain ullah

Mon problème était quand mon collègue développeur a ajouté un pod dans le projet et puis je tire le projet en utilisant github alors l'erreur s'est produite. J'ai lancé l'installation du pod et il a mis à jour les pods avec la nouvelle bibliothèque qui a été ajoutée par mon collègue développeur. J'espère que ça aide.

0