¿Cómo eliminar CocoaPods de un proyecto?

¿Cuál es la forma correcta de eliminar CocoaPods de un proyecto? Quiero eliminar todo el CocoaPod. Debido a algunas limitaciones impuestas por mi cliente, no puedo usarlo. Necesito tener solo un xcodeproj en lugar de un xcworkspace.

La eliminación de CocoaPods de un proyecto es posible, pero actualmente no está automatizada por la CLI. Lo primero, si el único problema que tiene es no poder usar un xcworkspace , puede usar CocoaPods con solo xcodeproj s utilizando el indicador --no-integrate que producirá el Pods.xcodeproj pero no un espacio de trabajo. Luego puede agregar este xcodeproj como un subproyecto a su xcodeproj principal.

Si realmente desea eliminar toda la integración de CocoaPods, debe hacer algunas cosas:

NOTA: editar algunas de estas cosas si se hace incorrectamente podría romper su proyecto principal. Le recomiendo encarecidamente que compruebe sus proyectos en el control de la fuente por si acaso. Además, estas instrucciones son para CocoaPods versión 0.39.0 , podrían cambiar con nuevas versiones.

  1. Elimina los archivos independientes ( Podfile Podfile.lock y tu directorio Pods )
  2. Eliminar el xcworkspace generado
  3. Abra su archivo xcodeproj , elimine las referencias a Pods.xcconfig y libPods.a (en el grupo de Frameworks )
  4. Debajo de las Build Phases elimine las Build Phases Copy Pods Resources , Embed Pods Frameworks Build Phases y Check Pods Manifest.lock .
  5. Esto puede parecer obvio, pero deberá integrar las bibliotecas de terceros de otra forma o eliminar las referencias a ellas de su código.

Después de esos pasos, debe configurarlo con un único xcodeproj que existía antes de integrar CocoaPods. Si me perdí algo, házmelo saber y editaré esto.

Además, siempre estamos buscando sugerencias sobre cómo mejorar CocoaPods, así que si tiene algún problema, envíelos a nuestro rastreador de problemas para que podamos encontrar la manera de solucionarlos.

EDITAR

Como lo muestra Jack Wu en los comentarios, hay un complemento de CocoaPods de terceros que puede automatizar estos pasos por usted. Se puede encontrar aquí . Tenga en cuenta que es un complemento de terceros y que puede que no siempre se actualice cuando CocoaPods lo esté. También tenga en cuenta que está hecho por un miembro del equipo central de CocoaPods para que el problema no sea un problema.

pod deintegrate y la pod clean son dos comandos designados para eliminar CocoaPod de su proyecto / repository.

Aquí está el conjunto completo de comandos:

 $ sudo gem install cocoapods-deintegrate cocoapods-clean $ pod deintegrate $ pod clean $ rm Podfile 

La solución original se encontró aquí: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5

La documentación de CocoaPod en el pod deintegrate : https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate

Creo que hay una manera más fácil de hacer eso.

Según lo editado por la respuesta aceptada, ahora puede usar un plugin de terceros cocoapods-deintegrate , es confiable porque está hecho por un miembro del equipo central de CocoaPods.

Pero aún quedan algunos archivos:

 Podfile Podfile.lock Workspace 

Puede eliminarlos de su proyecto manualmente, pero también hay otra herramienta para ayudarlo a limpiarlos, gracias a la limpieza de cocoapods .

Finalmente, el trabajo de desinstalación aún no se ha completado, cocoapods-clean no limpia el Podfile , solo ejecuta:

 rm Podfile 

¡Aclamaciones!

¡Antes de eliminarlo, debe asegurarse de tener una copia de seguridad de su proyecto!

pod deintegrate

Después de este cmd, no quedan rastros de Cocoapods en su proyecto.

Pero su espacio de trabajo que hace referencia al proyecto Pods aún permanece, necesita eliminar los siguientes 3 archivos manualmente:

xx.xcworkspace
Podifle
Podfile.lock

Entonces puedes usar tu proyecto nuevamente.

¡Que te diviertas!

Prueba la versión CocoaPod = 1.2.0

Para eliminar pods de un proyecto por completo, primero debes instalar dos cosas … estas son las siguientes (suponiendo que ya tienes cocoa-pods instalados en tu sistema) …

  1. Complemento Cocoapods-Deintegrate
  2. Cocoapods-Clean Plugin

Instalación

  1. Complemento Cocoapods-Deintegrate

    Use este siguiente comando en su terminal para instalarlo.

     sudo gem install cocoapods-deintegrate 
  2. Cocoapods-Clean Plugin

    Use este siguiente comando en su terminal para instalarlo.

     sudo gem install cocoapods-clean 

Uso

Antes que nada, vaya a la carpeta de proyectos usando el comando habitual como …

 cd (path of the project) //Remove the braces after cd 

Ahora usa esos dos complementos, quítalo completamente de la siguiente manera …

  1. Complemento Cocoapods-Deintegrate

    Utilice este siguiente comando en su terminal para desintegrar los pods de su proyecto primero.

      pod deintegrate 

Vainas de desintegración

  1. Cocoapods-Clean Plugin

    Después de la desintegración del pod de su proyecto, use este siguiente comando en su terminal para limpiarlo por completo.

      pod clean 

    Después de completar las tareas anteriores, debe haber el archivo Podfile aún en el directorio de su proyecto. Solo elimínelo manualmente o use este siguiente comando en la terminal.

      rm Podfile 

Eso es … Ahora tienes tu proyecto libre de pods … Recubierto.

Eliminando Cocoapods del sistema.

De cualquier forma intente utilizar el siguiente comando en su terminal para desinstalar / eliminar las coca-pods de su sistema.

 sudo gem uninstall cocoapods 

Eliminará las coca-pods automáticamente.

Gracias. Espero que esto haya ayudado.

Intenté todas estas respuestas, pero aún así no comstackría, al final lo intenté:

 pod deintegrate pod install 

que realmente funcionó!

Es como si tuviera que eliminar todas las secuencias de comandos de la etapa de construcción y volver a agregarlas para que funcionen, al menos en mi caso.

La respuesta de Keith es genial: solo quiero señalar que, debido a que Cocoapods 0.36 está comenzando a admitir Dynamic Frameworks , si está utilizando ‘use_frameworks!’ en tu ‘Podfile’ y deseas eliminar los Cocoapods, debes hacer esto:

  • En Build Phases elimine la fase Embed Pods Frameworks .

Puede haber dos aspectos que el desarrollador puede enfrentar.

  • O quiere eliminar completamente las vainas del proyecto
  • el desarrollador desea desinstalar un marco particular del proyecto de los pods.

En el primer caso, debe usar ‘pod deintegrate’ y seguir varios pasos que se mencionan en las respuestas anteriores.

Para el segundo caso, si desea desinstalar cualquier marco particular que esté instalado de manera muy simple disponible en su archivo pod, simplemente comente el marco que desea desinstalar y ejecute el comando de instalación del pod.

 # Uncomment this line to define a global platform for your project # platform :ios, '9.0' target 'ProjectName' do # Uncomment this line if you're using Swift or would like to use dynamic frameworks # use_frameworks! pod 'iCarousel', '~> 1.8' # pod 'Facebook-iOS-SDK', '~> 4.1' # pod 'ParseFacebookUtilsV4', '~> 1.11' # pod 'Parse', '~> 1.14' end 

Aquí quiero desinstalar Facebook y analizar marcos (que se instalaron usando pods) y no iCarousel, es por eso que he actualizado mi archivo de pod como se muestra arriba.

Ahora, si ejecuto la instalación de pod, mantendré iCarousel como está en mi proyecto y eliminaré Facebook y lo analizaré.

  1. Lo primero que tendrá que hacer es eliminar el Podfile , Podfile.lock , la carpeta Pods y el espacio de trabajo generado.
  2. A continuación, en .xcodeproj , elimine las referencias a los archivos Pods.xcconfig y al archivo libPods.a .
  3. Dentro de la pestaña del proyecto Build Fhases, elimine la sección Check Pods Manifest.lock (abrir), la sección Copy Pods Resources (abajo) y Embed Pod Resources (abajo).
  4. Eliminar Pods.framework .

Lo único que querrá hacer es incluir algunas de las bibliotecas que estaba utilizando antes. Puede hacer esto simplemente colocando en el proyecto las carpetas que estén en las carpetas de las unidades (prefiero colocarlas en la carpeta Archivos de soporte).

Funcionó para mí

Si no funciona, prueba
1. limpiar el proyecto
2. Datos derivados eliminados.

si no sabes cómo eliminar los datos derivados, ve aquí

¿Cómo “Eliminar datos derivados” en Xcode6?

Voy a escribir lo que hice muy brevemente (para eliminar cualquier CocoaPods de mi proyecto).

  1. eliminar cualquier carpeta agregada (marcos, Pods, …)
  2. elimine cualquier archivo agregado (PROJECT.xcworkspace, PodFile, PodFile.lock, Pods-PROJECT.debug.xcconfig, Pods-PROJECT.release.xcconfig, …)
  3. solo deje los originales (PROJECT, PROJECT_Tests, PROJECT.xcodeproj)
  4. eliminar referencia de marco del proyecto en xcode

Para eliminar la referencia de marco de xcode:

  1. Use el Navegador de proyectos
  2. Seleccionar proyecto
  3. Seleccionar PROYECTO objective
  4. Selecciona Build Fases desde las mejores opciones
  5. deje los grupos predeterminados (Dependencias de destino, Fuentes de comstackción, Binario enlazado con bibliotecas, Copiar recursos de paquete) y elimine cualquier otro
  1. Elimina el nombre del podfile de .plist
  2. Reinstale el pod nuevamente (use este enlace para la instalación del pod)

Use los comandos de este Terminal (No olvide usar sudo al comienzo de las nuevas líneas):

 open:YourDir YouName$ sudo gem uninstall cocoapods Password:? Remove executables: pod, sandbox-pod in addition to the gem? [Yn] Y Removing pod Removing sandbox-pod Successfully uninstalled cocoapods-1.4.0 open:YourDir YourName$ gem list --local | grep cocoapods cocoapods-core (1.4.0) cocoapods-deintegrate (1.0.2) cocoapods-downloader (1.1.3) cocoapods-plugins (1.0.0) cocoapods-search (1.0.0) cocoapods-stats (1.0.0) cocoapods-trunk (1.3.0) cocoapods-try (1.1.0) 

Desinstale la lista uno por uno así:

 open:YourDir YourName$ sudo gem uninstall cocoapods-core Successfully uninstalled cocoapods-core-1.4.0 open:YourDir YourName$ sudo gem uninstall cocoapods-trunk Successfully uninstalled cocoapods-trunk-1.3.0 open:YourDir YourName$ sudo gem uninstall cocoapods-try Successfully uninstalled cocoapods-try-1.1.0 open:YourDir YourName$ gem list --local | grep cocoapods open:YourDir YourName$ sudo gem uninstall cocoapods-stats Successfully uninstalled cocoapods-stats-1.0.0 open:YourDir YourName$ sudo gem uninstall cocoapods-search Successfully uninstalled cocoapods-search-1.0.0 open:YourDir YourName$ sudo gem uninstall cocoapods-downloader Successfully uninstalled cocoapods-downloader-1.1.3 open:YourDir YourName$ sudo gem uninstall cocoapods-plugins Successfully uninstalled cocoapods-plugins-1.0.0 open:YourDir YourName$ gem list --local | grep cocoapods cocoapods-deintegrate (1.0.2) open:YourDir YourName$ sudo gem uninstall cocoapods-deintegrate Successfully uninstalled cocoapods-deintegrate-1.0.2 open:YourDir YourName$ sudo gem uninstall cocoapods-stats Successfully uninstalled cocoapods-stats-1.0.0 open:YourDir YourName$ sudo gem uninstall cocoapods-search Successfully uninstalled cocoapods-search-1.0.0 open:YourDir YourName$ sudo gem uninstall cocoapods-downloader Successfully uninstalled cocoapods-downloader-1.1.3 open:YourDir YourName$ sudo gem uninstall cocoapods-plugins Successfully uninstalled cocoapods-plugins-1.0.0 open:YourDir YourName$ gem list --local | grep cocoapods cocoapods-deintegrate (1.0.2) open:YourDir YourName$ sudo gem uninstall cocoapods-deintegrate Successfully uninstalled cocoapods-deintegrate-1.0.2 

Eliminar todos los archivos pod relacionados.

xx.xcworkspace Podifle Podfile.lock

y Goto Targets -> Build phase -> Aquí se eliminan las [cp] check pods manifiestats.lock

Cómo mejorar los cocoapods: crea una GUI y olvida esta locura de la línea de comandos. Ya no estamos en 1974.