xcode - mac - ¿Cómo eliminar CocoaPods de un proyecto?
pod init (15)
¿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.
- Elimine el nombre de
podfile
de.plist
- Vuelva a instalar el pod de nuevo (use este enlace para la instalación del pod)
- Lo primero que deberá hacer es eliminar el
Podfile
, elPodfile.lock
, la carpetaPods
y el área de trabajo generada. - A continuación, en
.xcodeproj
, elimine las referencias a los archivosPods.xcconfig
y al archivolibPods.a
. - Dentro de la pestaña del proyecto Build Phases, elimine la sección Verificar Manifest.lock del Poder (abierta), la sección Copiar Recursos de Pods (abajo) y los Recursos de Poder Incrustado (abajo).
- Eliminar
Pods.framework
.
Es posible que lo único que desee hacer sea incluir algunas de las bibliotecas que estaba utilizando anteriormente. Puede hacer esto simplemente arrastrando las carpetas que estén en las carpetas de pods en su proyecto (prefiero colocarlas en mi carpeta Archivos de soporte).
Funcionó para mí.
Cómo mejorar cocoapods: construir una GUI y olvidar esta locura de la línea de comandos. Ya no estamos en 1974.
Creo que hay una manera más fácil de hacer eso.
Según lo editado en la respuesta aceptada, ahora puede usar un complemento de terceros here , es confiable porque está hecho por un miembro del equipo central de CocoaPods.
Pero, todavía quedan algunos archivos:
Podfile
Podfile.lock
Workspace
Podría eliminarlos de su proyecto manualmente, pero también hay otra herramienta para ayudarlo a limpiarlos, gracias a cocoapods-clean .
Finalmente, el trabajo de desinstalación aún no se ha completado, cocoapods-clean
no limpia el Podfile
, simplemente ejecute:
rm Podfile
¡Aclamaciones!
¡Antes de retirarlo, debe asegurarse de tener una copia de seguridad de su proyecto!
Eliminar todos los archivos pod relacionados.
xx.xcworkspace Podifle Podfile.lock
y Ir a objetivos -> Fase de compilación -> Aquí elimine [cp] comprobar pods manifests.lock
Intenté todas estas respuestas, pero aún no se construyó, eventualmente lo intenté:
pod deintegrate
pod install
que en realidad funcionó!
Es como si tuviera que eliminar todos los scripts de pod de tus fases de compilación y volver a agregarlos para que funcione, al menos en mi caso.
La eliminación de CocoaPods de un proyecto es posible, pero actualmente no está automatizada por el CLI. En primer lugar, si el único problema que tiene es que no puede usar un xcworkspace
, puede usar CocoaPods solo con xcodeproj
s usando el indicador --no-integrate
que producirá 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: la edición de 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 código fuente por si acaso. También estas instrucciones son para CocoaPods versión 0.39.0
, podrían cambiar con nuevas versiones.
- Elimine los archivos independientes (
Podfile
Podfile.lock
y su directorioPods
) - Eliminar el
xcworkspace
generado - Abra su archivo
xcodeproj
, elimine las referencias aPods.xcconfig
ylibPods.a
(en el grupoFrameworks
) - Debajo de las
Build Phases
elimine lasBuild Phases
Copy Pods Resources
,Embed Pods Frameworks
Build Phases
Embed Pods Frameworks
yCheck Pods Manifest.lock
fasesCheck Pods Manifest.lock
. - Esto puede parecer obvio, pero deberá integrar las bibliotecas de terceros de alguna otra manera o eliminar las referencias a ellas de su código.
Después de esos pasos, debe configurarse con un único xcodeproj
que existía antes de integrar CocoaPods. Si me perdí algo, hágamelo saber y lo editaré.
Además, siempre estamos buscando sugerencias sobre cómo mejorar CocoaPods, por lo que si tiene algún problema, por favor, envíelo a nuestro programa de seguimiento de problemas para que podamos encontrar una manera de solucionarlo.
EDITAR
Como lo shown Jack Wu en los comentarios, hay un complemento de CocoaPods de terceros que puede automatizar estos pasos por usted. Se puede encontrar here . Tenga en cuenta que es un complemento de terceros y puede que no siempre se actualice cuando CocoaPods. También tenga en cuenta que está hecho por un miembro del equipo central de CocoaPods para que el problema no sea un problema.
La respuesta de Keith es excelente: solo quiero señalar que Cocoapods 0.36 está empezando a admitir Dynamic Frameworks , si está usando ''use_frameworks!'' en su ''Podfile'' y desea eliminar los Cocoapods, debe hacer esto:
- Debajo de las
Build Phases
elimine la fase de losEmbed Pods Frameworks
Para eliminar las vainas de un proyecto por completo, primero debe instalar dos cosas ... son las siguientes (asumiendo que ya tiene cocoa-pods instaladas en su sistema.) ...
- Cocoapods-Deintegrate Plugin
- Cocoapods-Clean Plugin
Instalación
Cocoapods-Deintegrate Plugin
Utilice este comando siguiente en su terminal para instalarlo.
sudo gem install cocoapods-deintegrate
Cocoapods-Clean Plugin
Utilice este comando siguiente en su terminal para instalarlo.
sudo gem install cocoapods-clean
Uso
En primer lugar, vaya a la carpeta de su proyecto utilizando el comando habitual, como ...
cd (path of the project) //Remove the braces after cd
Ahora usa esos dos complementos para eliminarlo completamente de la siguiente manera ...
Cocoapods-Deintegrate Plugin
Use este comando siguiente en su terminal para desintegrar las vainas de su proyecto primero.
pod deintegrate
Cocoapods-Clean Plugin
Después de la desintegración de la vaina de su proyecto, use este comando siguiente en su terminal para limpiarlo completamente.
pod clean
Después de completar las tareas anteriores, debe quedar el archivo Pod en el directorio del proyecto ... Simplemente elimínelo manualmente o use el siguiente comando en el terminal.
rm Podfile
Eso es ... Ahora tienes tu proyecto libre de vainas ... Limpiado.
Eliminando Cocoapods del sistema.
Intente utilizar el siguiente comando en su terminal para desinstalar / eliminar las vainas de coca de su sistema.
sudo gem uninstall cocoapods
Se eliminarán las vainas de coca automáticamente.
Gracias. Espero que esto haya ayudado.
Puede haber dos aspectos que el desarrollador puede enfrentar.
- O bien quiere quitar vainas completamente del proyecto
- desarrollador quiere desinstalar un marco particular de proyecto de pods.
En el primer caso, debe usar ''pod desintegrar'' y seguir los pasos que se mencionan en las respuestas anteriores.
Para el segundo caso, si desea desinstalar cualquier marco particular que esté instalado allí de una manera muy simple disponible en su archivo pod, simplemente comente el marco que desea desinstalar y ejecute el comando pod install.
# 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 los marcos de facebook y parse (que se instalaron usando pods) y no iCarousel, por eso he actualizado mi archivo pod como arriba.
Ahora, si ejecuto el pod install, mantendré iCarousel como está en mi proyecto y eliminaré Facebook y analizaré.
Si no funciona, intente
1. limpiar el proyecto.
2. Se eliminaron los datos derivados.
Si no sabes cómo borrar datos derivados, entra aquí.
Use estos comandos de 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)
Desinstala la lista una por una como esta:
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
Voy a escribir lo que he hecho muy brevemente (para eliminar cualquier CocoaPods de mi proyecto) ..
- eliminar cualquier carpeta añadida (marcos, pods, ...)
- eliminar cualquier archivo agregado (PROJECT.xcworkspace, PodFile, PodFile.lock, Pods-PROJECT.debug.xcconfig, Pods-PROJECT.release.xcconfig, ...)
- simplemente deje sus originales (PROJECT, PROJECT_Tests, PROJECT.xcodeproj)
- eliminar referencia de marco del proyecto en xcode
Para eliminar la referencia del marco de xcode:
- Usa el Project Navigator
- Seleccione Proyecto
- Seleccione PROYECTO objetivo
- Seleccione Build Phases de las opciones superiores
- deje los grupos predeterminados (Dependencias de destino, Orígenes de compilación, Binarios vinculados con bibliotecas, Copiar recursos de paquete) y elimine cualquier otro
pod deintegrate
Después de este cmd, no quedan rastros de Cocoapods en su proyecto.
Pero el espacio de trabajo que hace referencia al proyecto Pods aún permanece, debe eliminar manualmente los 3 archivos siguientes:
xx.xcworkspace
Podifle
Podfile.lock
Entonces puedes usar tu proyecto de nuevo.
¡Que te diviertas!
Versión de prueba CocoaPod = 1.2.0
pod deintegrate
y pod clean
son dos comandos designados para eliminar CocoaPod de su proyecto / repositorio.
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
Documentación de CocoaPod sobre pod deintegrate
: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate