Error: "La zona de pruebas no está sincronizada con el Podfile.lock..." después de instalar RestKit con cocoapods
restkit-0.20 (24)
Me encontré con un problema extraño después de instalar RestKit con cocopods. Después de resolver la dependencia de RestKit para mi proyecto con cocopods e intentar construirlo, enfrento este error:
The sandbox is not in sync with the Podfile.lock. Run ''pod install'' or update your CocoaPods installation.
Busqué pero no pude encontrar ninguna solución clara.
aquí hay algunas fotos:
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
¡Esto hizo mi dia!
- Eliminar el archivo Podfile.lock en su carpeta de proyecto
- Eliminar la carpeta Pods en su carpeta de proyecto
- Ejecute la instalación del pod en su carpeta de proyecto
- Haz un "Limpio" en Xcode
- Reconstruye tu proyecto
Accidentalmente eliminé y luego desempaqueté la carpeta de donde traté de instalar el pod.
Era así: 1) CD en su carpeta de proyectos 2) comprimir su proyecto 3) eliminar la carpeta del proyecto 4) descomprimir la carpeta 5) a partir de ahora, incluso si tiene esta carpeta, debe volver a esta carpeta desde la terminal
Comprueba en tu proyecto que los Pods no están siendo enviados a Git. Entonces, es obvio que la compilación se romperá ya que no puede encontrar el directorio de Pods
diff "${PODS_ROOT}/../../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
Lo resolví publicando la pod install
en la Terminal luego de navegar al directorio de mi proyecto.
De hecho, tuve un error al cannot find pod command
que significaba que los cocoapods
no estaban instalados. Esto se arregla mediante gem install cocoapods
. Si obtiene un error de dependencia, simplemente instale cada comando que se informa que falta. En mi caso tuve que actualizar Ruby y después de eso los cocoapods
se instalaron correctamente y pude usar la pod install
comando.
PD. Si tiene un directorio de Pods, intente pod update
. Tal vez su biblioteca necesita una actualización.
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 masterfolder / proyecto) en el terminal antes de invocar la instalación del pod --verbose
2- Borre la carpeta de pod pod vieja y luego limpie el proyecto usando xcode clean & do pod install.
3- Mantenga su rvm actualizado.
Después de muchos intentos logré solucionar este problema. La variable $ {PODS_ROOT} no se configuró y hago el truco debajo. Ve a Build Fases -> Check Pods Manifest.lock y reemplaza
diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
a
diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null
Me ayuda.
En mi caso, obtuve el mismo error después de integrar la aplicación WatchKit. Para resolver el problema, necesitaba agregar los dos 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: Quizás esto me pasó porque al principio instalé vainas para el objetivo de la MyProject WatchKit App
.
Encontré este problema con un archivo xcconfig mal configurado.
El xcconfig generado por Pods no estaba #incluido correctamente en el personalizar xcconfig que estaba usando. Esto provocó que $ PODS_ROOT no se estableciera, lo que provocó la falla de diff "/../Podfile.lock" "/Manifest.lock"
, por razones obvias, que los Pods malinterpretan como un problema de sincronización.
Encontré mi solución: Ejecutar: pod update
de pod install
lugar de pod install
. ¡El error fue corregido!
La eliminación de pods del proyecto y la reinstalación funcionaron para mí.
Hay un buen repositorio GitHub que puede eliminar por completo los pods del proyecto.
Simplemente mantenga la copia de seguridad de su PodFile y ejecute los comandos debajo.
- joya instalar cocoapods-deintegrate
- joya instalar cocoapods-limpiar
- Vaya al directorio del proyecto y ejecute pod deintegrate
- Vuelve a ejecutar pod pod clean
- Ejecutar pod instalar
Limpia y corre.
Limpiar proyecto y construir de nuevo en Xcode, funcionó para mí. No necesita volver a instalar la unidad.
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 enlaces tales como "Apple Mach-Falló el comando del enlazador"
Mi problema era la versión de las vainas de cacao, así que instalé lo último con: sudo gem install cocoapods --pre
Then pod update
Eso funcionó para mí
Mi problema fue cuando mi compañero desarrollador agregó un pod en el proyecto y luego extraje el proyecto usando github y luego ocurrió el error. Ejecuté la instalación de pod y actualizó los pods con la nueva biblioteca que fue agregada por mi compañero desarrollador. Espero eso ayude.
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 objetivo para mi objetivo clonado del proyecto en el Podfile y luego ejecutar la pod install
.
Pude arreglarlo actualizando CocoaPods.
I. Limpieza del proyecto
- En el navegador del proyecto, selecciona tu proyecto
- Selecciona tu objetivo
- Elimine todos los libPods * .a en Fases de compilación> Enlace binario con bibliotecas
II. Actualizar CocoaPods
- Inicie Terminal y vaya a su directorio de proyectos.
- Actualice CocoaPods utilizando el comando
pod install
Si descarga el proyecto desde github o copia desde otro lugar, entonces la biblioteca de dependencias no existe, habrá este problema.
Solo necesita hacer un cd
al project/project_name directory
en la terminal, use ls
para verificar si hay un archivo Podfile
.
si existe el Podfile
, solo necesita instalar las dependencias:
pod install
Si elimina todos los pods de su objetivo en el Podfile, por ejemplo
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 la pod install
.
Si está solicitando la forma en que Project Cleanup y su proyecto siguen teniendo errores.
Puede ir a la pestaña Construir fases y luego Buscar Check Pods Manifest.lock
y eliminar el script.
Luego escriba command para eliminar la carpeta Pods
como esa rm -rf Pods
y luego necesitas quitar Podfile.lock por el comando rm Podfile.lock
Probablemente, your_project_name.xcworkspace
en una situación, puedes eliminar el archivo your_project_name.xcworkspace
Finalmente, necesita el comando para instalar Pod pod install --repo-update
.
Con suerte, esta solución viene con usted. Feliz codificación :)
Si ve un error como el siguiente:
diff: /../Podfile.lock: No existe ese archivo o directorio diff: /Manifest.lock: No existe ese archivo o error de directorio: El sandbox no está sincronizado con el archivo Podfile.lock. Ejecute ''pod install'' o actualice su instalación de CocoaPods.
Luego hay un problema con Cocoapods en su proyecto. A veces, los cocoapods pueden desincronizarse y es necesario reiniciar los cocoapods. Debería poder resolver este error de la siguiente manera:
- Eliminar el archivo Podfile.lock en su carpeta de proyecto
- Eliminar la carpeta Pods en su carpeta de proyecto
- Ejecute ''pod install'' en su carpeta de proyecto
- Haz un "Limpio" en Xcode
- Reconstruye tu proyecto
Tengo el mismo problema con el último ComponentKit 0.14. La razón por la que PODS_ROOT no se configuró y he encontrado que la solución es agregar una línea a ComponentKit.xcconfig:
#include "../Pods/Target Support Files/Pods-ComponentKit/Pods-ComponentKit.debug.xcconfig"
Tuve un error:
diff: /../Podfile.lock: No existe ese archivo o directorio diff: /Manifest.lock: No existe ese archivo o error de directorio: El sandbox no está sincronizado con el archivo Podfile.lock.
Retiré la solicitud de bitbucket por primera vez. Limpié mi proyecto y probé todo (instalación de pod, actualización de pod, etc.) pero ninguna de las respuestas anteriores funcionó para mí. Luego solo compruebo el camino donde estaba instalando el pod, lo corrigí e instalé de nuevo, simplemente funcionó. Asegúrese de dar la ruta justo antes de donde existan .xcodeproj o .xcworkspace (si ya existe). Puede ser que alguien se beneficie de esto.
si tus pods están vacíos
- elimine los recursos de los pods de copia y compruebe el manifiesto de los pods.
- bloquear desde la configuración de fases de construcción de su proyecto
tuve este problema cuando estaba tratando de eliminar la biblioteca previamente instalada
La respuesta de @Michael me ayudó
Eliminar o desinstalar la biblioteca agregada anteriormente: cocoapods
Después de cambiar el nombre del objetivo
Mi problema era xcconfig con viejos nombres de destino.
- Fui a archivo de proyecto -> información -> configuración
- Se eliminó el viejo xcconfig (depuración y versión)
- pod instalar
Se actualizaría a los nuevos.
Además, si faltaron los archivos .h, esa es la razón (la ruta de búsqueda del encabezado de los pods está en estos xcconfig)