Qual è il modo giusto di rimuovere CocoaPods da un progetto? Voglio rimuovere l'intero CocoaPod. A causa di alcune limitazioni imposte dal mio cliente, non posso utilizzarlo. Devo avere solo un xcodeproj invece di uno xcworkspace.
pod deintegrate
Qual è il modo giusto di rimuovere CocoaPods da un progetto? Voglio rimuovere l'intero CocoaPod. A causa di alcune limitazioni imposte dal mio cliente, non posso utilizzarlo. Devo avere solo un xcodeproj invece di uno xcworkspace.
pod deintegrate
Risposte:
La rimozione di CocoaPods da un progetto è possibile, ma attualmente non automatizzata dalla CLI. Per prima cosa, se l'unico problema che hai è non essere in grado di utilizzare un xcworkspace, puoi usare CocoaPods con solo xcodeprojs usando il --no-integrateflag che produrrà lo Pods.xcodeprojspazio di lavoro ma non. Quindi puoi aggiungerlo xcodeprojcome sottoprogetto al tuo principale xcodeproj.
Se vuoi davvero rimuovere tutta l'integrazione di CocoaPods devi fare alcune cose:
NOTA la modifica di alcune di queste cose se eseguita in modo errato potrebbe interrompere il progetto principale. Ti incoraggio vivamente a controllare i tuoi progetti nel controllo del codice sorgente per ogni evenienza. Anche queste istruzioni sono per la versione CocoaPods 0.39.0, potrebbero cambiare con le nuove versioni.
Podfile Podfile.locke la tua Podsdirectory)xcworkspacexcodeprojfile, elimina i riferimenti a Pods.xcconfige libPods.a(nel Frameworksgruppo)Build Phasesla cancellazione Copy Pods Resources, Embed Pods Frameworkse Check Pods Manifest.lockle fasi.Dopo questi passaggi dovresti essere impostato con un singolo xcodeprojesistente prima di integrare CocoaPods. Se ho perso qualcosa fammelo sapere e lo modificherò.
Inoltre, siamo sempre alla ricerca di suggerimenti su come migliorare CocoaPods, quindi in caso di problemi, si prega di inviarli nel nostro tracker di problemi in modo che possiamo trovare un modo per risolverli!
MODIFICARE
Come mostrato da Jack Wu nei commenti, esiste un plug-in CocoaPods di terze parti che può automatizzare questi passaggi per te. Esso può essere trovato qui . Si noti che si tratta di un plug-in di terze parti e potrebbe non essere sempre aggiornato quando lo è CocoaPods. Si noti inoltre che è stato creato da un membro del team principale di CocoaPods in modo che il problema non sia un problema.
pod deintegratee pod cleansono due comandi designati per rimuovere CocoaPod dal tuo progetto / repository.
Ecco il set completo di comandi:
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod cache clean --all
$ rm Podfile
La soluzione originale è stata trovata qui: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
Documentazione CocoaPod su pod deintegrate: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
Per rimuovere completamente i pod da un progetto, devi prima installare due cose ... quelle che seguono (Supponendo che tu abbia già installato cacao-pod nel tuo sistema.) ...
Installazione
Cocoapods-Deintegrate Plugin
Utilizzare questo comando seguente sul terminale per installarlo.
sudo gem install cocoapods-deintegratePlugin pulito da Cocoapods
Utilizzare questo comando seguente sul terminale per installarlo.
sudo gem install cocoapods-cleanuso
Prima di tutto vai alla cartella del tuo progetto usando il solito comando come ..
cd (path of the project) //Remove the braces after cd
Ora usa quei due plugin per rimuoverlo completamente come segue ..
Cocoapods-Deintegrate Plugin
Utilizzare questo comando seguente sul terminale per disintegrare prima i pod dal progetto.
pod deintegratePlugin pulito da Cocoapods
Dopo la disintegrazione di pod dal progetto, utilizzare questo comando sul terminale per pulirlo completamente.
pod clean
Dopo aver completato le attività di cui sopra dovrebbe esserci ancora il Podfile rimasto nella directory del progetto ... Basta eliminarlo manualmente o utilizzare questo comando seguente sul terminale.
rm PodfileEcco fatto ... Ora hai il tuo progetto libero dai pod ... Pulito.
Rimozione di Cocoapods dal sistema.
In ogni caso, prova a utilizzare il seguente comando sul tuo terminale per disinstallare / rimuovere i coca-pod dal tuo sistema.
sudo gem uninstall cocoapods
Rimuoverà automaticamente i baccelli di coca.
Grazie. Spero che questo abbia aiutato.
pod clean elimina il tuo spazio di lavoro , anche se ci sono altri progetti in esso! Stai attento!
Penso che ci sia un modo più semplice per farlo.
Come modificato dalla risposta accettata, ora è possibile utilizzare un plug -in di terze parti cocoapods-deintegrate , è affidabile perché realizzato da un membro del team principale di CocoaPods.
Ma rimangono ancora alcuni file:
Podfile
Podfile.lock
Workspace
Potresti rimuoverli dal tuo progetto manualmente , ma c'è anche un altro strumento per aiutarti a pulirli, grazie a cocoapods-clean .
Infine, il lavoro di disinstallazione non è ancora completato, cocoapods-cleannon pulire Podfile, basta eseguire:
rm Podfile
Saluti!
Prima di rimuovere dovresti assicurarti di avere un backup del tuo progetto!
pod deintegrate
Dopo questo cmd, nessuna traccia di Cocoapods è rimasta nel tuo progetto.
Ma lo spazio di lavoro che fa riferimento al progetto Pods rimane ancora, è necessario rimuovere manualmente i seguenti 3 file:
xx.xcworkspace
Podifle
Podfile.lock
Quindi è possibile utilizzare nuovamente il progetto.
Divertiti!
Prova la versione CocoaPod = 1.2.0
Ho provato tutte queste risposte ma ancora non si è costruito, alla fine ho provato:
pod deintegrate
pod install
che in realtà ha funzionato!
È come se fosse necessario rimuovere tutti gli script pod dalle fasi di compilazione e aggiungerli nuovamente affinché funzioni, almeno nel mio caso.
La risposta di Keith è ottima: voglio solo sottolineare che, poiché Cocoapods 0.36 sta iniziando a supportare Dynamic Frameworks , se stai usando 'use_frameworks!' nel tuo "Podfile" e desideri rimuovere i Cocoapods, devi fare questo:
Build Phaseseliminazione Embed Pods Frameworks.Podsall'interno di Build Phases eliminare anche loro.
Ci possono essere due aspetti che lo sviluppatore potrebbe dover affrontare.
Nel primo caso devi usare 'pod deintegrate' e seguire diversi passaggi che sono menzionati nelle risposte sopra.
Per il secondo caso, se si desidera disinstallare un determinato framework installato nel modo pod molto semplice disponibile nel proprio file pod, è sufficiente commentare il framework che si desidera disinstallare ed eseguire il 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
Qui voglio disinstallare Facebook e analizzare i framework (che sono stati installati usando i pod) e non iCarousel, ecco perché ho aggiornato il mio file pod come sopra.
Ora se eseguo pod pod manterrà iCarousel come è nel mio progetto e rimuoverà Facebook e analizzerà.
Podfile, Podfile.lockla Podscartella e l'area di lavoro generato..xcodeproj, rimuovi i riferimenti ai Pods.xcconfigfile e al libPods.afile.Pods.framework.L'unica cosa che potresti voler fare è includere alcune delle librerie che stavi utilizzando in precedenza. Puoi farlo semplicemente trascinando qualsiasi cartella nelle cartelle dei pod nel tuo progetto (preferisco metterli nella mia cartella dei file di supporto).
Ha funzionato per me.
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile
gem uninstall cocoapods-deintegrate cocoapods-clean
Se non funziona, provare
1. pulire il progetto.
2. dati derivati cancellati.
se non sai come eliminare i dati derivati vai qui
Elimina tutti i file pod correlati:
e nel Project Navigator:
Fai clic sul nome del progetto (icona blu) -> Target (*) -> Fasi di costruzione -> Rimuovi "[CP] Check Pods manifests.lock" (fai clic sulla "x")
(*) Fare clic sul nome del progetto, potrebbe essere necessario fare clic su "Mostra il progetto e l'elenco di destinazione" per visualizzare prima la barra laterale.
Scriverò ciò che IV ha fatto molto brevemente (per eliminare qualsiasi CocoaPods dal mio progetto) ..
Per rimuovere il riferimento del framework da xcode:
podfilenome da.plist Se desideri solo rimuovere un pod e mantenerne altri che potresti aver installato, apri il file pod nella directory dell'app ed elimina quello che desideri rimuovere. Quindi vai alla directory della tua app utilizzando il terminale e digita:
pod update
Ciò rimuoverà il pod rimosso dal podfile. Vedrai che è stato rimosso nel terminale:
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
Si noti che questo metodo estrarrà anche eventuali aggiornamenti agli altri pod nel file pod. Potresti o meno volerlo.
pod installper aggiungere / rimuovere i pod. Questo è specificamente per evitare l'aggiornamento come hai detto qui. Puoi leggere di più sulle loro "Guide" proprio su questo argomento ... guide.cocoapods.org/using/pod-install-vs-update.html
Usa questi comandi di Terminale (non dimenticare di usare sudo all'inizio di nuove righe):
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)
Disinstallare l'elenco uno per uno in questo modo:
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
Non penso che tu debba più disintegrarti. Sono stato in grado di farlo con il seguente comando nel terminale:
installazione pod
e ha rimosso automaticamente quelli che non sono più nel podfile