Error: "El sandbox no está sincronizado con Podfile.lock ..." después de instalar RestKit con cocoapods

232

He encontrado un problema extraño después de instalar RestKit con cocoapods. después de resolver la dependencia de RestKit para mi proyecto con cocoapods e intentar construirlo, me enfrento a este error:

El sandbox no está sincronizado con el Podfile.lock. Ejecute 'pod install' o actualice su instalación de CocoaPods.

Intenté correr pod install, pero no cambié.

Aquí hay algunas fotos: ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

  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
Hashem Aboonajmi
fuente
2
¿Intentó Run 'pod install' or update your CocoaPods installation.como lo sugiere el error?
Wain
3
absolutamente, lo hice, pero no
tuve
1
¿Puedes publicar la versión de Restkit en Podfile.locky en Pods/Manifest.lock? Ese error ocurre cuando estos no son lo mismo.
MishieMoo
Sí, los comparé, son exactamente idénticos.
Hashem Aboonajmi
El error sobre el error "sandbox" es "diff: comando no encontrado" No sé si reinstalar diff podría solucionar el problema, pero puede ser una pista de lo que está sucediendo.
Thunder Rabbit

Respuestas:

318

Pude arreglar eso actualizando CocoaPods.

I. Limpieza del proyecto

  1. En el navegador de proyectos, seleccione su proyecto
  2. Selecciona tu objetivo
  3. Elimine todos los libPods * .a en Build Phases> Link Binary With Libraries

II Actualizar CocoaPods

  1. Inicie Terminal y vaya al directorio de su proyecto.
  2. Actualiza CocoaPods usando el comando pod install
Señor fahrenheit
fuente
3
funcionó a las
mil maravillas
18
Con respecto a I.3, ¿se refería a la sección 'Fases de compilación> Enlace binario con bibliotecas'?
kraftydevil
1
Cuando ejecuto el comando de instalación de pod en el directorio del proyecto, recibí la siguiente advertencia: El uso de fuentes implícitas ha quedado en desuso. Para continuar usando todas las fuentes actualmente en su máquina, agregue lo siguiente en la parte superior de su Podfile: fuente ' github.com/CocoaPods/Specs.git ' También agregué este enlace en el archivo pod pero sucedió lo mismo. Por favor recomiende.
Mitesh Khatri
Además de esto, tuve que eliminar todas las fases de compilación relacionadas con CocoaPod, como 'Comprobar Pods Manifest.lock' y 'Copiar recursos de Pods'.
JVillella
17
@ Valery Pavlov Estos pasos funcionaron, pero después de una limpieza exitosa del proyecto, la compilación falla inmediatamente con los mismos 3 errores que parece que no puedo eliminar a continuación. Intenté eliminar completamente todos los cocoapods, reinstalar, actualizar, hacer todo esto con reinicios de xcode, etc. Todos estos en el terminal funcionan con éxito, pero la compilación continúa fallando. ¿Alguna otra idea? Errores: diff: /../Podfile.lock: No existe tal archivo o directorio diff: /Manifest.lock: No existe dicho error de archivo o directorio: El sandbox no está sincronizado con el Podfile.lock. Ejecute 'pod install' o actualice su instalación de CocoaPods.
natur3
111

Después de muchos intentos, logré solucionar este problema. La variable $ {PODS_ROOT} no se configuró y hago el siguiente truco. Vaya a Fases de construcción -> Comprobar Manifiesto de Pods. Bloquear y reemplazar

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

a

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

Me ayuda.

Pavel Shorokhov
fuente
¿Por qué $ PODS_ROOT no está configurado? ¿Necesito reinstalar pods para mi proyecto?
Petr Syrov el
2
La razón por la que no se configuró $ PODS_ROOT es principalmente porque el archivo .xcconfig generado por cocoapods no se aplica al destino de compilación.
Fujia
@Fujia, ¿cómo aplico un archivo .xcconfig?
Darko Romanov
En mi caso configuré PODS_ROOT = ${SRC_ROOT}/Podsmi xcconfig para el mismo efecto.
Grego
44

Si elimina todos los pods de su objetivo en el Podfile, p. Ej.

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

deberás eliminar manualmente estos pasos de compilación de tus fases de compilación de destino de Xcode :

  • Comprobar Pods Manifest.lock
  • Copiar recursos de Pod

Cocoapods (versión estable actual 0.37.2) no realiza esta limpieza cuando ejecuta pod install.

100grams
fuente
Esto funcionó para mí. Había estado migrando a Swift 2 y había comentado todos los pods, solo volví a encender uno de los pods en lugar de perder el tiempo eliminando las fases de compilación.
brian.clear
¡bingo! Pasé horas eliminando mi espacio de trabajo, reinstalando pods, etc. y nada más funcionó.
Oren
35

Estuve buscando durante horas y encontré las siguientes soluciones:

En mi caso, el método 1 funciona.

Método 1:

  1. elija el destino> vaya a Crear frases > haga clic en Vincular binario con bibliotecas > eliminar todos los archivos libPods.a
  2. abra Terminal> directo a su proyecto> ejecute:

     pod install
    
  3. proyecto de limpieza y construcción

ref.1

Método 2:

  1. abra Terminal> directo a su proyecto> ejecute:

    pod deintegrate --verbose    
    pod install --verbose
    

ref.2

Método 3:

  1. elija el objetivo> vaya a Configuración de compilación > haga clic en el signo "+"
  2. agregue 2 configuraciones definidas por el usuario: [a la izquierda = a la derecha]

    PODS_ROOT = ${SRCROOT}/Pods
    

    y

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

ref.3

Eddie
fuente
Intenté todas las otras soluciones pero nada funcionó. El método 3 funcionó para mí.
Vinner
25

Eliminar las vainas del proyecto y volver a instalar me funcionó.

Hay un buen repositorio de GitHub que puede eliminar completamente los pods del proyecto.

Simplemente guarde la copia de seguridad de su PodFile y ejecute los siguientes comandos.

  • joya instalar cocoapods-desintegrar
  • joya instalar cocoapods-clean
  • Vaya al directorio del proyecto y ejecute pod desintegrate
  • Nuevamente ejecute pod clean
  • Ejecute la instalación de pod

Limpiar y correr.

Teena nath Paul
fuente
1
Eres genial, solo el tuyo funcionó para mí, muchas gracias
albert sh
Después de ejecutar estos comandos, recibo un mensaje de compilación exitoso, pero ahora, parece que nada se ejecuta en el simulador ni en la consola. ¿Sabes por qué sucedió esto?
Jorge Barrios
TENGA CUIDADO: la construcción funciona, pero la limpieza de la cápsula desapareció del objetivo del proyecto. No se generaron archivos ni se crearon aplicaciones.
Ruben
@Ruben, el contenido desaparecido se regenerará en la "instalación de pod" nuevamente
Teena nath Paul
A pesar de eso, después de seguir los pasos que mencionó, el ícono de mi aplicación ya no aparece como el proyecto principal ... Solo aparece el logotipo de Córdoba, y no se genera ninguna compilación o archivo.
Ruben
12

Después de cambiar el nombre del objetivo

Mi problema era xcconfig con nombres de destino antiguos.

  • Fui al archivo de proyecto -> información -> configuración
  • Se eliminó el antiguo xcconfig (depuración y lanzamiento)
  • instalación de pod

Se actualizaría a los nuevos.

Además, si le faltaban archivos .h esa es la razón (la ruta de búsqueda del encabezado de pods está en estos xcconfig)

avishic
fuente
Elegir Nonefuncionó para mí también. Estuve luchando con esto durante un día tratando de integrar el SDK de Gimbal2 en un proyecto Ionic4.
Russ
9

Si ve un error como el siguiente:

diff: /../Podfile.lock: No existe tal archivo o directorio diff: /Manifest.lock: No existe tal archivo o error de directorio: El sandbox no está sincronizado con el Podfile.lock. Ejecute 'pod install' o actualice su instalación de CocoaPods.

Entonces hay un problema con Cocoapods en su proyecto. A veces, los cacaopodos pueden desincronizarse y es necesario reiniciarlos. Debería poder resolver este error:

  1. Eliminar el archivo Podfile.lock en su carpeta de proyecto
  2. Eliminar la carpeta Pods en la carpeta de tu proyecto
  3. Ejecute 'pod install' en su carpeta de proyecto
  4. Haz una "limpieza" en Xcode
  5. Reconstruye tu proyecto
David
fuente
2
Muchas gracias. Me has alegrado el día. Nada más funcionó en mi proyecto Flutter.
nbloqs
Esta es la única solución que también funcionó para mí. Eliminando Podfile.lock. Tenga en cuenta que puede obtener algunas actualizaciones de versión inesperadas al hacer esto.
santamanno
para flutter: corre pod installen tu flutter_project / ios
Kirill Karmazin
5

En mi caso, recibí el mismo error después de integrar la aplicación WatchKit. Para resolver el problema, necesitaba agregar ambos objetivos de WatchKit en 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

PD: Tal vez esto me sucedió porque instalé por error vainas para el MyProject WatchKit Appobjetivo inicialmente.

Shyngys Kassymov
fuente
Creo que has dado en el clavo;)
Hackmodford
4

Encontré mi solución: Ejecutar: en pod updatelugar de pod install. El error fue corregido!

giapnh
fuente
Bien. Esto actualizará los pods obsoletos, así que asegúrese de que eso es lo que desea.
ff10
4
  • Vaya a Fases de construcción -> Comprobar Manifiesto de Pods.lock
  • Reemplazar
${PODS_ROOT}/Manifest.lock

con:

${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock

Check in image:

ingrese la descripción de la imagen aquí

The_PratikshaK
fuente
Esto funcionó para mí en una compilación Cordova iOS, mientras que la respuesta aceptada no funcionó.
Bastian Blankenburg el
3

Encontré este problema con un archivo xcconfig mal configurado.

El xcconfig generado por Pods no se incluyó correctamente # en el xcconfig personalizado que estaba usando. Esto provocó que $ PODS_ROOT no se configurara, lo que resulta en la falla de diff "/../Podfile.lock" "/Manifest.lock", por razones obvias, que Pods malinterpreta como un problema de sincronización.

Mensly
fuente
3

Para mí, el problema fue que hice un nuevo objetivo en mi aplicación duplicando uno existente, pero olvidé agregar el objetivo al Podfile. Por alguna razón, el objetivo clonado funcionó durante días sin problemas, pero después de un tiempo no se pudo construir por este error. Tuve que crear una nueva entrada de destino para mi objetivo de proyecto clonado en el Podfile y luego ejecutarlo pod install.

gklka
fuente
2

Si descarga el proyecto desde github o copia desde otro lugar, entonces la biblioteca de dependencias no existe, habrá este problema.

Solo necesita ingresar cda la project/project_name directoryterminal, usar lspara verificar si hay un Podfilearchivo.

si existe el Podfile, solo necesita instalar las dependencias:

pod install
aeronave
fuente
Gracias, esto realmente me ayudó mucho cuando estaba ejecutando los ejemplos de flutter descargados de su sitio web github y recibí el mismo error. Navegué a la carpeta ios para cada carpeta de ejemplo de flutter e instalé el pod y luego la aplicación flutter funcionó.
Simon
encantado de ayudarle.
Avión
2

Lo intenté todo, pero el problema persistió. Después de eso hice esto y funcionó lo antes posible (lo más suave posible).

  1. Abra el archivo .xcworkspace.
  2. Cambie al sistema de compilación heredado si usa Cordova en Xcode 10.
  3. Ir al objetivo / proyecto de Podfile. Seleccione Traget de implementación como 11+
  4. Luego cambie la depuración y suelte a Pods-.build/release. Fue App.debug / release en mi caso. Foto adjunta. Espero eso ayude. Cambiar la versión de depuración en Pod
alegre
fuente
2

Mi respuesta de trabajo es:

  1. Instala actualiza tus cocoapods con este comando: pod update
  2. Instala tus nuevos pods con este comando. instalación de pod
  3. El último comando: sudo gem instala cocoapods.
Gurpreet Singh
fuente
2

Completamente nada me funcionó a partir de estas respuestas. Tuve que crear el proyecto nuevamente ejecutando cordova platform add ios. Lo que he notado, incluso un proyecto recién generado con (en mi caso) pods Firebase causó el mensaje de error una y otra vez. En mi opinión, parece un error para algunos pods (Firebase, RestKit) en Xcodeo CocoaPods. Para incluir los pods, simplemente podría editar mi config.xmly ejecutar cordova platform add iOS, lo que hizo todo por mí automáticamente. Sin embargo, no estoy seguro de si funcionará en todos los escenarios.

Editar: tuve un Podfileanterior iOS/ Xcode, pero el más nuevo a partir de hoy tiene # DO NOT MODIFY -- auto-generated by Apache Cordovaen el Podfile. Esto encendió una luz en mi cabeza para intentar el enfoque. Parece un poco trivial, pero funciona y mis Firebasecaracterísticas funcionaron.

Daniel Danielecki
fuente
1
Este es el único método que funcionó para mí. Intenté con todos los demás. Eliminé plataformas e hice una reinstalación de 'cordova platform add ios'. También creo que tenía una plataforma / ios anterior que utilicé en una versión anterior de xcode.
Heath
1

¡Esto hizo mi dia!

  1. Eliminar el archivo Podfile.lock en su carpeta de proyecto
  2. Eliminar la carpeta Pods en la carpeta de tu proyecto
  3. Ejecute la instalación de pod en su carpeta de proyecto
  4. Haz una "limpieza" en Xcode
  5. Reconstruye tu proyecto
alitosuner
fuente
¡Yo apruebo este mensaje! Además, si estás en Flutter, no te olvidesflutter pub get
Kirill Karmazin
1

Cuando tu lo hagas

pod install --verbose

asegurarse:

1- estás en el directorio correcto. La mayoría de las veces, cuando se descarga un proyecto github, habrá una carpeta maestra. Debe estar dentro de la carpeta del nombre del proyecto real (carpeta principal / carpeta del proyecto) en el terminal antes de invocar la instalación de pod --verbose

2- Elimine la carpeta de bloqueo de pod antigua y luego limpie el proyecto utilizando xcode clean & do pod install.

3- Mantenga su rvm actualizado.

Gokhan Dilek
fuente
1

Mi problema era la versión de las vainas de cacao, así que instalé la última con: sudo gem install cocoapods --pre Luegopod update

Eso funciono para mi

DariusV
fuente
1

Los pasos que funcionaron para mí ( 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

También make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods. Eso debería resolver cualquier error con la vinculación, como "Falló el comando Apple Mach -O Linker"

Naishta
fuente
1

Si está aplicando a la forma en que la limpieza del proyecto y su proyecto siguen siendo un error.

Puede ir a la pestaña Crear fases y luego Buscar Check Pods Manifest.locky eliminar el script.

Luego escriba el comando para eliminar una carpeta Podscomo esarm -rf Pods

y luego necesita eliminar Podfile.lock por comando rm Podfile.lock

Probablemente, en base a una situación, puede eliminar el archivo your_project_name.xcworkspace

Finalmente, necesita el comando para instalar Pod pod install --repo-update.

Con suerte, esta solución viene contigo. Feliz codificación :)

Cuong Nguyen
fuente
1

Tuve el mismo error Primero actualizo cocoapods usando

sudo gem install cocoapods

luego instalar pods usando el comando Pod install funcionó para mí.

Gurjinder Singh
fuente
1

Por favor siga los siguientes pasos:

1: Eliminar el archivo Podfile.lock en su carpeta de proyecto

2: Eliminar la carpeta Pods en la carpeta de tu proyecto

3: Ejecute 'pod install' en su carpeta de proyecto

4: hacer una "limpieza" en Xcode

5: Reconstruye tu proyecto

IKKA
fuente
1

Para mí, trabajando en flutter, la configuración no se agregó automáticamente debido a la configuración existente.

Adición de #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"a Flutter/Release.xcconfigyFlutter/Debug.xcconfig

resuelto el problema.

Moritz Morgenroth
fuente
1

Ejecute esto, y sus errores desaparecerán

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

Siraj Alam
fuente
1

Enfrenté este problema en un proyecto de Flutter. Acabo de abrir el Módulo iOS en xCode y Build Clean Folder funcionó para mí.

Desarrollo
fuente
1

Intenta configurar el objetivo correcto Podfiley luego ejecuta pod updateopod install

objetivo de la plataforma ios

tyoc213
fuente
1

Tuve el mismo problema con Ionic-3, hice algunos pasos mencionados anteriormente, pero ninguno de ellos funcionó para mí.

Para Ionic Retire la plataforma ios

$ ionic cordova platform remove ios
$ ionic cordova platform add ios

Abra xcode y luego intente construir. esto funcionó para mí :-)

Rajat.r2
fuente
1

Solucioné mi problema con la aplicación iónica instalando cordova versión 9, probé toda la solución anterior vinculada principalmente con xcode ni funcionó para mi aplicación iónica

Si alguien enfrenta el mismo problema con su aplicación cordova, actualice amablemente a cordova 9 para solucionar esto

Satputa Vikrant
fuente
0

si tus vainas están vacías

  1. eliminar recursos de pods de copia y verificar el manifiesto de pods.
  2. bloquear la configuración de las fases de construcción de su proyecto
Dewanshu Sharma
fuente