Qual é a maneira correta de remover o CocoaPods de um projeto? Eu quero remover todo o CocoaPod. Devido a algumas limitações impostas pelo meu cliente, não posso usá-lo. Eu preciso ter apenas um xcodeproj em vez de um xcworkspace.
pod deintegrate
Qual é a maneira correta de remover o CocoaPods de um projeto? Eu quero remover todo o CocoaPod. Devido a algumas limitações impostas pelo meu cliente, não posso usá-lo. Eu preciso ter apenas um xcodeproj em vez de um xcworkspace.
pod deintegrate
Respostas:
É possível remover o CocoaPods de um projeto, mas atualmente não é automatizado pela CLI. Primeiro, se o único problema que você tem é não poder usar um, xcworkspace
você pode usar CocoaPods com apenas xcodeproj
s usando a --no-integrate
flag que produzirá o Pods.xcodeproj
espaço de trabalho, mas não o espaço. Em seguida, você pode adicionar isso xcodeproj
como um subprojeto ao seu principal xcodeproj
.
Se você realmente deseja remover toda a integração do CocoaPods, precisa fazer algumas coisas:
NOTA editar algumas dessas coisas, se feito incorretamente, pode interromper o projeto principal. É altamente recomendável que você verifique seus projetos no controle de origem, apenas por precaução. Além disso, essas instruções são para a versão do CocoaPods 0.39.0
, elas podem mudar com as novas versões.
Podfile
Podfile.lock
e seu Pods
diretório)xcworkspace
xcodeproj
arquivo, exclua as referências Pods.xcconfig
e libPods.a
(no Frameworks
grupo)Build Phases
exclusão Copy Pods Resources
, as fases Embed Pods Frameworks
e Check Pods Manifest.lock
.Após essas etapas, você deve definir um único xcodeproj
que já existia antes de integrar o CocoaPods. Se eu perdi alguma coisa, avise-me e editarei isso.
Também estamos sempre procurando sugestões de como melhorar o CocoaPods. Se você tiver algum problema, envie-o em nosso rastreador de problemas para que possamos encontrar uma maneira de corrigi-lo!
EDITAR
Como mostra Jack Wu nos comentários, existe um plug-in CocoaPods de terceiros que pode automatizar essas etapas para você. Pode ser encontrado aqui . Observe que é um plug-in de terceiros e nem sempre pode ser atualizado quando o CocoaPods é. Observe também que é feito por um membro da equipe principal do CocoaPods, para que o problema não seja um problema.
pod deintegrate
e pod clean
são dois comandos designados para remover o CocoaPod do seu projeto / repositório.
Aqui está o conjunto completo de comandos:
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod cache clean --all
$ rm Podfile
A solução original foi encontrada aqui: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
Documentação do CocoaPod em pod deintegrate
: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
Para remover completamente os pods de um projeto, você precisa instalar duas coisas primeiro ... essas são as seguintes (supondo que você já tenha os cacau-pods instalados no sistema.) ...
Instalação
Cocoapods-Deintegrate Plugin
Use este comando no seu terminal para instalá-lo.
sudo gem install cocoapods-deintegrate
Cocoapods-Clean Plugin
Use este comando no seu terminal para instalá-lo.
sudo gem install cocoapods-clean
Uso
Antes de tudo, vá para a pasta do projeto usando o comando usual como ..
cd (path of the project) //Remove the braces after cd
Agora use esses dois plugins para removê-lo completamente da seguinte maneira.
Cocoapods-Deintegrate Plugin
Use este comando a seguir no seu terminal para desintegrar os pods do seu projeto primeiro.
pod deintegrate
Cocoapods-Clean Plugin
Após a desintegração do pod do seu projeto, use o seguinte comando no seu terminal para limpá-lo completamente.
pod clean
Depois de concluir as tarefas acima, deve haver o Podfile ainda no diretório do seu projeto .. Apenas exclua-o manualmente ou use o seguinte comando no terminal.
rm Podfile
É isso aí ... Agora você tem seu projeto livre de pods ... Limpo.
Removendo Cocoapods do sistema.
De qualquer forma, tente usar o seguinte comando no seu terminal para desinstalar / remover os coca-pods do seu sistema.
sudo gem uninstall cocoapods
Ele removerá as vagens de coca automaticamente.
Obrigado. Espero que isso tenha ajudado.
pod clean
exclui seu espaço de trabalho , mesmo se você tiver outros projetos! Seja cuidadoso!
Eu acho que existe uma maneira mais fácil de fazer isso.
Conforme editado pela resposta aceita, agora você pode usar um plug - in de cocoapods-deintegrate de terceiros , é confiável porque é feito por um membro da equipe principal do CocoaPods.
Mas ainda existem alguns arquivos:
Podfile
Podfile.lock
Workspace
Você pode removê-los do seu projeto manualmente, mas também há outra ferramenta para ajudá-lo a limpá-los, graças ao cocoapods-clean .
Finalmente, o trabalho de desinstalação ainda não foi concluído, cocoapods-clean
não limpe Podfile
, apenas execute:
rm Podfile
Felicidades!
Antes de remover, verifique se você tem um backup do seu projeto!
pod deintegrate
Após esse cmd, nenhum vestígio de Cocoapods deixou no seu projeto.
Mas sua área de trabalho que faz referência ao projeto Pods ainda permanece, você deve remover abaixo dos 3 arquivos manualmente:
xx.xcworkspace
Podifle
Podfile.lock
Então você pode usar seu projeto novamente.
Diverta-se!
Teste a versão CocoaPod = 1.2.0
Eu tentei todas essas respostas, mas elas ainda não foram construídas, eventualmente tentei:
pod deintegrate
pod install
que realmente funcionou!
É como se fosse necessário remover todos os scripts de pod das fases de construção e adicioná-los novamente para que funcionasse, pelo menos no meu caso.
A resposta de Keith é ótima - só quero salientar isso porque o Cocoapods 0.36 está começando a dar suporte a Dynamic Frameworks , se você estiver usando 'use_frameworks!' no seu 'Podfile' e você deseja remover os Cocoapods, faça o seguinte:
Build Phases
exclusão Embed Pods Frameworks
.Pods
interior, Build Phases
exclua-os também.
Pode haver dois aspectos que o desenvolvedor pode enfrentar.
No primeiro caso, você deve usar o 'desintegração de pod' e seguir várias etapas mencionadas nas respostas acima.
Para o segundo caso, ou seja, se você deseja desinstalar qualquer estrutura específica instalada de uma maneira muito simples disponível no seu arquivo pod, apenas comente a estrutura que deseja desinstalar e execute o 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
Aqui, eu quero desinstalar as estruturas do facebook e analisar (que foram instaladas usando pods) e não o iCarousel, por isso atualizei meu arquivo pod como acima.
Agora, se eu executar a instalação do pod, ele manterá o iCarousel como está no meu projeto e removerá o facebook e analisará.
Podfile
, Podfile.lock
, a Pods
pasta e o espaço de trabalho gerados..xcodeproj
remova as referências aos Pods.xcconfig
arquivos e ao libPods.a
arquivo.Pods.framework
.A única coisa que você pode querer fazer é incluir algumas das bibliotecas que você estava usando antes. Você pode fazer isso simplesmente arrastando as pastas que estão nas pastas pods para o seu projeto (prefiro colocá-las na minha pasta Arquivos de Suporte).
Funcionou para mim.
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile
gem uninstall cocoapods-deintegrate cocoapods-clean
Se não funcionar, tente
1. limpar o projeto.
2. dados derivados excluídos.
se você não sabe como excluir dados derivados, clique aqui
Exclua todos os arquivos de pod relacionados:
e no Project Navigator:
Clique no nome do projeto (ícone azul) -> Alvos (*) -> Fases de construção -> Remover "[CP] Check Pods manifests.lock" (clique no "x")
(*) Clique no nome do projeto, talvez seja necessário clicar em "Mostrar lista de projetos e destinos" para ver a barra lateral primeiro.
Vou escrever o que iv fez muito brevemente (para excluir qualquer CocoaPods do meu projeto) ..
Para remover a referência de estrutura do xcode:
podfile
nome de.plist
Se você deseja apenas remover um pod e manter outros que possa ter instalado, abra o podfile no diretório do aplicativo e exclua o que deseja remover. Em seguida, navegue até o diretório do aplicativo usando o terminal e digite:
pod update
Isso removerá o pod que você removeu do podfile. Você verá que foi removido no terminal:
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
Observe que esse método também puxará quaisquer atualizações para os outros pods em seu podfile. Você pode ou não querer isso.
pod install
para adicionar / remover pods. Isso é especificamente para evitar atualizações, como você disse aqui. Você pode ler mais sobre os seus 'guias' sobre este tema ... guides.cocoapods.org/using/pod-install-vs-update.html
Use estes comandos do terminal (não se esqueça de usar o sudo no início de novas linhas):
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 a lista uma a uma 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
Acho que você não precisa mais se desintegrar. Consegui fazer isso com o seguinte comando no terminal:
instalação do pod
e removeu automaticamente os que não estão mais no podfile