Was ist der richtige Weg, um CocoaPods aus einem Projekt zu entfernen? Ich möchte den gesamten CocoaPod entfernen. Aufgrund einiger von meinem Kunden auferlegter Einschränkungen kann ich es nicht verwenden. Ich brauche nur ein xcodeproj anstelle eines xcworkspace.
471
pod deintegrate
Antworten:
Das Entfernen von CocoaPods aus einem Projekt ist möglich, wird jedoch derzeit von der CLI nicht automatisiert. Erstens, wenn das einzige Problem, das Sie haben, nicht in der Lage ist, einen zu verwenden
xcworkspace
, können Sie CocoaPods mit nurxcodeproj
s verwenden, indem Sie das--no-integrate
Flag verwenden, das denPods.xcodeproj
Arbeitsbereich erzeugt, aber keinen. Dann können Sie diesxcodeproj
als Teilprojekt zu Ihrem Hauptprojekt hinzufügenxcodeproj
.Wenn Sie wirklich die gesamte CocoaPods-Integration entfernen möchten, müssen Sie einige Dinge tun:
HINWEIS Wenn Sie einige dieser Dinge falsch bearbeiten, kann dies Ihr Hauptprojekt beschädigen. Ich empfehle Ihnen dringend, Ihre Projekte für alle Fälle in die Quellcodeverwaltung einzuchecken. Diese Anweisungen gelten auch für die CocoaPods-Version
0.39.0
. Sie können sich mit neuen Versionen ändern.Podfile
Podfile.lock
und IhrPods
Verzeichnis).xcworkspace
xcodeproj
Datei, löschen Sie die Verweise aufPods.xcconfig
undlibPods.a
(in derFrameworks
Gruppe)Build Phases
löschen Sie dieCopy Pods Resources
,Embed Pods Frameworks
undCheck Pods Manifest.lock
Phasen.Nach diesen Schritten sollten Sie eine Single
xcodeproj
festlegen, die vor der Integration von CocoaPods vorhanden war. Wenn ich etwas verpasst habe, lass es mich wissen und ich werde es bearbeiten.Außerdem sind wir immer auf der Suche nach Vorschlägen zur Verbesserung von CocoaPods. Wenn Sie also Probleme haben, senden Sie diese bitte in unseren Issue-Tracker, damit wir einen Weg finden, sie zu beheben!
BEARBEITEN
Wie gezeigt von Jack Wu in den Kommentaren gibt es eine dritte Partei CocoaPods dass Plugin diese Schritte für Sie automatisieren. Es kann hier gefunden werden . Beachten Sie, dass es sich um ein Plugin eines Drittanbieters handelt und möglicherweise nicht immer aktualisiert wird, wenn CocoaPods verwendet wird. Beachten Sie auch, dass es von einem CocoaPods-Kernteammitglied erstellt wurde, damit das Problem kein Problem darstellt.
quelle
pod deintegrate
undpod clean
sind zwei festgelegte Befehle zum Entfernen von CocoaPod aus Ihrem Projekt / Repo.Hier ist der vollständige Befehlssatz:
Die ursprüngliche Lösung wurde hier gefunden: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
CocoaPod-Dokumentation unter
pod deintegrate
: https://guides.cocoapods.org/terminal/commands.html#pod_deintegratequelle
Um Pods vollständig aus einem Projekt zu entfernen, müssen Sie zuerst zwei Dinge installieren ... die folgenden (vorausgesetzt, Sie haben bereits Kakao-Pods in Ihrem System installiert.) ...
Installation
Cocoapods-Deintegrate Plugin
Verwenden Sie den folgenden Befehl auf Ihrem Terminal, um es zu installieren.
Cocoapods-Clean Plugin
Verwenden Sie den folgenden Befehl auf Ihrem Terminal, um es zu installieren.
Verwendungszweck
Gehen Sie zunächst mit dem Befehl wie gewohnt in Ihren Projektordner.
Verwenden Sie nun diese beiden Plugins, um es wie folgt vollständig zu entfernen.
Cocoapods-Deintegrate Plugin
Verwenden Sie den folgenden Befehl auf Ihrem Terminal, um zuerst die Pods aus Ihrem Projekt zu deintegrieren.
Cocoapods-Clean Plugin
Verwenden Sie nach der Deintegration des Pods aus Ihrem Projekt den folgenden Befehl auf Ihrem Terminal, um ihn vollständig zu bereinigen.
Nach Abschluss der oben genannten Aufgaben sollte sich die Pod-Datei noch in Ihrem Projektverzeichnis befinden. Löschen Sie diese einfach manuell oder verwenden Sie den folgenden Befehl auf dem Terminal.
Das war's ... Jetzt haben Sie Ihr Projekt frei von Pods ... Gereinigt.
Cocoapods aus dem System entfernen.
Versuchen Sie auf jeden Fall, den folgenden Befehl auf Ihrem Terminal zu verwenden, um die Coca-Pods von Ihrem System zu deinstallieren / entfernen.
Die Coca-Pods werden automatisch entfernt.
Vielen Dank. Hoffe das hat geholfen.
quelle
pod clean
löscht Ihren Arbeitsbereich , auch wenn Sie andere Projekte darin haben! Achtung!Ich denke, es gibt einen einfacheren Weg, das zu tun.
Wie durch die akzeptierte Antwort bearbeitet, können Sie jetzt ein Drittanbieter-Plugin cocoapods-deintegrate verwenden , . Es ist zuverlässig, da es von einem CocoaPods-Kernteammitglied erstellt wurde.
Es sind jedoch noch einige Dateien übrig:
Sie können sie manuell aus Ihrem Projekt entfernen ,, aber es gibt auch ein anderes Tool, mit dem Sie sie reinigen können, dank Cocoapods-Clean .
Schließlich ist die Deinstallationsarbeit noch nicht abgeschlossen.
cocoapods-clean
Reinigen Sie das nicht, sondern führen Sie FolgendesPodfile
aus:Prost!
Vor dem Entfernen sollten Sie sicherstellen, dass Sie ein Backup Ihres Projekts haben!
quelle
pod deintegrate
Nach diesem Cmd sind in Ihrem Projekt keine Spuren von Cocoapods mehr vorhanden.
Ihr Arbeitsbereich, der auf das Pods-Projekt verweist, bleibt jedoch erhalten. Sie müssen die folgenden 3 Dateien manuell entfernen:
xx.xcworkspace
Podifle
Podfile.lock
Dann können Sie Ihr Projekt wieder verwenden.
Habe Spaß!
Testen Sie die CocoaPod-Version = 1.2.0
quelle
Ich habe alle diese Antworten ausprobiert, aber es wurde immer noch nicht erstellt. Schließlich habe ich versucht:
was tatsächlich funktioniert hat!
Es ist so, als müssten alle Pod-Skripte aus Ihren Erstellungsphasen entfernt und wieder hinzugefügt werden, damit es funktioniert, zumindest in meinem Fall.
quelle
Die Antwort von Keith ist großartig - ich möchte nur darauf hinweisen, dass Cocoapods 0.36 beginnt, dynamische Frameworks zu unterstützen , wenn Sie 'use_frameworks!' Verwenden. In Ihrem 'Podfile' und wenn Sie die Cocoapods entfernen möchten, müssen Sie Folgendes tun:
Build Phases
LöschphaseEmbed Pods Frameworks
.quelle
Pods
innerhalb vonBuild Phases
löschen, löschen Sie sie ebenfalls.Es kann zwei Aspekte geben, mit denen Entwickler konfrontiert sein können.
Im ersten Fall müssen Sie 'pod deintegrate' verwenden und einige Schritte ausführen, die in den obigen Antworten aufgeführt sind.
Für den zweiten Fall, wenn Sie ein bestimmtes Framework deinstallieren möchten, das dort auf sehr einfache Weise in Ihrer Pod-Datei installiert ist, kommentieren Sie einfach das Framework, das Sie deinstallieren möchten, und führen Sie den Befehl pod install aus.
Hier möchte ich Facebook- und Parse-Frameworks (die mit Pods installiert wurden) und nicht iCarousel deinstallieren. Deshalb habe ich meine Pod-Datei wie oben aktualisiert.
Wenn ich jetzt die Pod-Installation ausführe, bleibt iCarousel wie in meinem Projekt und entfernt Facebook und Parse.
quelle
Podfile
,Podfile.lock
diePods
Ordner und die erzeugte Arbeitsbereich..xcodeproj
, die Verweise auf die Entfernen -Pods.xcconfig
Dateien und dielibPods.a
Datei.Pods.framework
.Das einzige, was Sie möglicherweise tun möchten, ist, einige der Bibliotheken einzuschließen, die Sie zuvor verwendet haben. Sie können dies tun, indem Sie einfach alle Ordner in den Pods-Ordnern in Ihr Projekt ziehen (ich ziehe es vor, sie in meinen Ordner "Unterstützende Dateien" zu legen).
Es hat bei mir funktioniert.
quelle
quelle
gem uninstall cocoapods-deintegrate cocoapods-clean
Wenn dies nicht funktioniert, versuchen Sie
1. das Projekt zu reinigen.
2. gelöschte abgeleitete Daten.
Wenn Sie nicht wissen, wie abgeleitete Daten gelöscht werden sollen, klicken Sie hier
Wie "abgeleitete Daten löschen" in Xcode6?
quelle
Löschen Sie alle zugehörigen Pod-Dateien:
und im Projektnavigator:
Klicken Sie auf den Projektnamen (blaues Symbol) -> Ziele (*) -> Build-Phasen -> Entfernen Sie "[CP] Check Pods manifest.lock" (klicken Sie auf "x").
(*) Klicken Sie auf den Projektnamen. Möglicherweise müssen Sie auf "Projekt- und Zielliste anzeigen" klicken, um zuerst die Seitenleiste anzuzeigen.
quelle
Ich werde kurz schreiben, was ich getan habe (um alle CocoaPods aus meinem Projekt zu löschen).
So entfernen Sie die Framework-Referenz aus xcode:
quelle
podfile
Namen von.plist
quelle
Wenn Sie nur einen Pod entfernen und andere, die Sie möglicherweise installiert haben, behalten möchten, öffnen Sie die Poddatei in Ihrem App-Verzeichnis und löschen Sie die zu entfernende. Navigieren Sie dann mit dem Terminal zu Ihrem App-Verzeichnis und geben Sie Folgendes ein:
Dadurch wird der Pod entfernt, den Sie aus der Poddatei entfernt haben. Sie werden sehen, dass es im Terminal entfernt wurde:
Beachten Sie, dass diese Methode auch Aktualisierungen für die anderen Pods in Ihrer Poddatei abruft. Sie können oder können das nicht wollen.
quelle
pod install
zum Hinzufügen / Entfernen von Pods verwenden. Dies dient speziell dazu, Aktualisierungen zu vermeiden, wie Sie hier gesagt haben. Sie können mehr über ihre 'Guides' zu diesem Thema lesenVerwenden Sie die Befehle dieses Terminals (Vergessen Sie nicht, sudo am Anfang neuer Zeilen zu verwenden):
Deinstallieren Sie die Liste nacheinander wie folgt:
quelle
Ich konnte meine Pods im Projekt mit der CocoaPods-App (Version 1.5.2) entfernen. Danach habe ich nur die Dateien podfile, podfile.lock und xcworkspace im Ordner gelöscht.
quelle
bildliche Darstellung detailliert
quelle
Ich glaube nicht, dass Sie sich mehr integrieren müssen. Ich konnte es mit dem folgenden Befehl im Terminal tun:
Pod installieren
und es entfernte automatisch diejenigen, die nicht mehr in der Poddatei sind
quelle