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 xcodeproj
s usando il --no-integrate
flag che produrrà lo Pods.xcodeproj
spazio di lavoro ma non. Quindi puoi aggiungerlo xcodeproj
come 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.lock
e la tua Pods
directory)xcworkspace
xcodeproj
file, elimina i riferimenti a Pods.xcconfig
e libPods.a
(nel Frameworks
gruppo)Build Phases
la cancellazione Copy Pods Resources
, Embed Pods Frameworks
e Check Pods Manifest.lock
le fasi.Dopo questi passaggi dovresti essere impostato con un singolo xcodeproj
esistente 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 deintegrate
e pod clean
sono 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-deintegrate
Plugin pulito da Cocoapods
Utilizzare questo comando seguente sul terminale per installarlo.
sudo gem install cocoapods-clean
uso
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 deintegrate
Plugin 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 Podfile
Ecco 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-clean
non 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 Phases
eliminazione Embed Pods Frameworks
.Pods
all'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.lock
la Pods
cartella e l'area di lavoro generato..xcodeproj
, rimuovi i riferimenti ai Pods.xcconfig
file e al libPods.a
file.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:
podfile
nome 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 install
per 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