Eliminar o desinstalar la biblioteca agregada previamente: cocoapods


320

Agregué un marco externo a través de cocoapods en mi aplicación iOS. ¿Cómo puedo eliminar esa biblioteca del proyecto?

Respuestas:


317

Dado que los efectos secundarios de la respuesta aceptada han sido eliminados por un script escrito por Kyle Fuller - desintegrarse , publicaré el flujo de trabajo adecuado aquí:

  1. Instalar limpio:

    $ sudo gem install cocoapods-clean
  2. Ejecute desintegrate en la carpeta del proyecto:

    $ pod deintegrate

  3. Limpiar:

    $ pod clean

  4. Modifique su podfile (elimine las líneas con los pods que ya no desea usar) y ejecute:

    $ pod install

Hecho.


2
Este pod debería ser la respuesta aceptada, porque es mucho más completo. Aunque, antes de seguir este flujo de trabajo, sugeriría borrar los contenidos del directorio de Datos Derivados del proyecto y asegurarme de confirmar los cambios del proyecto en el repositorio de código existente. Finalmente, después de ejecutar pod install, abrí el archivo Xcode xcworkspace, realicé una limpieza completa en la carpeta de compilación (alt + shift + comando + K), y las advertencias / errores del enlazador desaparecieron. Las vainas ahora se desinstalaron correctamente del proyecto.
Mark Barrasso

Nota para @All: este comando cocoapods-cleanelimina el Podfiley.xcworkspace
Suhaib

66
Parece que ahora pod deintegratees oficial: guides.cocoapods.org/terminal/commands.html#pod_deintegrate No es necesario sudo gem install cocoapods-deintegrate.
Pang

44
Lo segundo de @ZinWinHtet, cuando lo intento pod cleanobtengo:$ pod clean [!] Unknown command: clean
ScottyBlades

2
Sí ... creo que la limpieza de vainas ya no existe.
Zin Win Htet

455

Elimine lib de Podfile, luego pod installnuevamente.


99
Cuando hago esto, me quedan con docenas de advertencias en XCode 5 quejándose de que el espacio de trabajo no puede encontrar los archivos eliminados. He intentado limpiar esto manualmente pero no he tenido éxito. ¿Cómo puedes eliminar limpiamente una vaina?
Matt Mombrea

8
Busque el archivo de pods en Finder, luego elimine cada uno de los pods individuales (notará que les faltan los archivos .h y .m). Entonces pod update. Eso funcionó para mí.
AMayes

99
También recibe las advertencias que @MattMombrea menciona si eliminó con éxito los podfiles, pero no ha cometido el cambio. Asegúrese de que todo esté comprometido con el repositorio de código.
HughHughTeotl

1
El artículo que @vrunoa menciona ahora es un enlace muerto. Este artículo es útil: stackoverflow.com/questions/16427421/…
Lane Rettig el

2
Quiero eliminar un marco instalado por pod sin actualizar o instalar podfile
Anand Prakash


5

Ninguno de estos funcionó para mí. Tengo la versión de pod 1.5.3 y el método correcto era eliminar los pods que ya no eran necesarios del Podfile y luego ejecutar:

pod update

Esto actualiza su archivo Podfile.lock de su Podfile, elimina las bibliotecas que se han eliminado y actualiza todas sus bibliotecas.


1
No necesita actualizar todas las bibliotecas de su proyecto (algo que puede ser muy peligroso) solo para eliminar una biblioteca. Hay muchas maneras mejores en este hilo, incluyendo eliminar el pod de tu podfile y luego ejecutarlopod install
Braden Holt

Esto actualiza todas las versiones de sus bibliotecas y, naturalmente, elimina la que ya no está presente en el Podfile, pero ¿realmente desea actualizar las bibliotecas? Retirar la cápsula y pod installes la forma correcta.
Karim Mortabit

1
  1. Elimine el nombre del pod (que eliminar) del Podfile y luego
  2. Abra la Terminal, configure la ruta de la carpeta del proyecto
  3. Ejecutar pod install --no -integra

1
Recibo este error:[!] Unknown option: '--no-integrate'
neoneye

-1

Elimine el nombre del pod de la PodfileTerminal abierta, configure la ruta de la carpeta del proyecto y el pod updatecomando Ejecutar .

NOTA: pod updateactualizará todas las bibliotecas a la última versión y también eliminará aquellas bibliotecas cuyo nombre se haya eliminado del podfile.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.