Was ist der richtige Weg, CocoaPods aus einem Projekt zu entfernen? Ich möchte den gesamten CocoaPod entfernen. Aufgrund von einigen Einschränkungen, die mein Kunde auferlegt hat, kann ich es nicht verwenden. Ich muss nur ein xcodeproj anstelle eines xcworkspace haben.
Antworten
Zu viele Anzeigen?Das Entfernen von CocoaPods aus einem Projekt ist möglich, aber derzeit nicht über die CLI automatisiert. Wenn das einzige Problem darin besteht, dass Sie kein xcworkspace
verwenden können, können Sie CocoaPods nur mit xcodeproj
s verwenden, indem Sie das Flag --no-integrate
verwenden, das das Pods.xcodeproj
erzeugt, aber keinen Workspace. Dann können Sie dieses xcodeproj
als Subprojekt zu Ihrem Haupt-xcodeproj
hinzufügen.
Wenn Sie wirklich alle CocoaPods-Integrationen entfernen möchten, müssen Sie ein paar Dinge tun:
HINWEIS Wenn Sie einige dieser Dinge falsch bearbeiten, könnte Ihr Hauptprojekt beschädigt werden. Ich empfehle Ihnen dringend, Ihre Projekte zur Sicherheit in die Versionskontrolle aufzunehmen. Außerdem gelten diese Anweisungen für CocoaPods-Version 0.39.0
, sie könnten sich mit neuen Versionen ändern.
- Löschen Sie die eigenständigen Dateien (
Podfile
,Podfile.lock
und IhrPods
-Verzeichnis) - Löschen Sie das generierte
xcworkspace
- Öffnen Sie Ihre
xcodeproj
-Datei, löschen Sie die Verweise aufPods.xcconfig
undlibPods.a
(in derFrameworks
-Gruppe) - Löschen Sie unter Ihren
Build Phases
die PhasenCopy Pods Resources
,Embed Pods Frameworks
undCheck Pods Manifest.lock
- Dies mag offensichtlich erscheinen, aber Sie müssen die Drittanbieterbibliotheken auf andere Weise integrieren oder Verweise darauf aus Ihrem Code entfernen.
Nach diesen Schritten sollten Sie ein einzelnes xcodeproj
haben, das bereits bestand, bevor Sie CocoaPods integrierten. Wenn mir etwas entgangen ist, lassen Sie es mich bitte wissen, damit ich dies bearbeiten kann.
Wir sind auch immer auf der Suche nach Vorschlägen, wie wir CocoaPods verbessern können. Wenn Sie Probleme haben, reichen Sie diese bitte in unserem Issue Tracker ein, damit wir eine Möglichkeit finden können, sie zu beheben!
BEARBEITEN
Wie von Jack Wu in den Kommentaren gezeigt gibt es ein Drittanbieter-CocoaPods-Plugin, das diese Schritte automatisieren kann. Es kann hier gefunden werden. Beachten Sie, dass es sich um ein Drittanbieter-Plugin handelt und möglicherweise nicht immer aktualisiert wird, wenn CocoaPods aktualisiert wird. Beachten Sie außerdem, dass es von einem Mitglied des CocoaPods-Kernteams erstellt wurde, sodass dieses Problem kein Problem darstellen sollte.
pod deintegrate
und pod clean
sind zwei spezielle Befehle, um CocoaPod aus Ihrem Projekt/Repo zu entfernen.
Hier ist die vollständige Liste der Befehle:
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod cache clean --all
$ rm Podfile
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 zu pod deintegrate
: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
Um Pods vollständig aus einem Projekt zu entfernen, müssen Sie zuerst zwei Dinge installieren...diese sind wie folgt (unter der Annahme, dass CocoaPods bereits in Ihrem System installiert sind.)...
- Cocoapods-Deintegrate Plugin
- Cocoapods-Clean Plugin
Installation
-
Cocoapods-Deintegrate Plugin
Verwenden Sie diesen folgenden Befehl in Ihrem Terminal, um es zu installieren.
sudo gem install cocoapods-deintegrate
-
Cocoapods-Clean Plugin
Verwenden Sie diesen folgenden Befehl in Ihrem Terminal, um es zu installieren.
sudo gem install cocoapods-clean
Verwendung
Gehen Sie zunächst wie gewohnt in Ihren Projektordner, indem Sie den üblichen Befehl verwenden...
cd (Pfad des Projekts) //Entfernen Sie die Klammern nach cd
Verwenden Sie jetzt die beiden Plugins, um sie vollständig zu entfernen, wie folgt..
-
Cocoapods-Deintegrate Plugin
Verwenden Sie diesen folgenden Befehl in Ihrem Terminal, um die Pods zuerst aus Ihrem Projekt zu entfernen.
pod deintegrate
-
Cocoapods-Clean Plugin
Nach der Deintegration der Pods aus Ihrem Projekt verwenden Sie diesen folgenden Befehl in Ihrem Terminal, um es vollständig zu bereinigen.
pod clean
Nach Abschluss der oben genannten Aufgaben sollte die Podfile immer noch in Ihrem Projektverzeichnis vorhanden sein...Löschen Sie dies einfach manuell oder verwenden Sie diesen folgenden Befehl im Terminal..
rm Podfile
Das war's...Jetzt haben Sie Ihr Projekt frei von Pods...Gereinigt.
Entfernen von CocoaPods aus dem System.
Versuchen Sie auf jeden Fall, den folgenden Befehl in Ihrem Terminal zu verwenden, um CocoaPods zu deinstallieren/entfernen.
sudo gem uninstall cocoapods
Es wird die CocoaPods automatisch entfernen.
Vielen Dank. Hoffe, das hat geholfen.
Ich denke, es gibt einen einfacheren Weg, das zu tun.
Wie vom akzeptierten Antwort bearbeitet, jetzt können Sie ein Drittanbieter-Plugin cocoapods-deintegrate verwenden, es ist zuverlässig, weil es von einem Mitglied des CocoaPods-Kernteams erstellt wurde.
Aber es gibt immer noch einige Dateien, die bleiben:
Podfile
Podfile.lock
Workspace
Sie könnten sie manuell aus Ihrem Projekt entfernen, aber es gibt auch ein weiteres Tool, das Ihnen dabei hilft, sie zu bereinigen, danke cocoapods-clean.
Zuletzt ist die Deinstallation noch nicht abgeschlossen, cocoapods-clean
bereinigt nicht die Podfile
, führen Sie einfach aus:
rm Podfile
Prost!
Vor dem Entfernen sollten Sie sicherstellen, dass Sie eine Sicherungskopie Ihres Projekts haben!
pod deintegrate
Nach diesem Befehl sind keine Spuren von Cocoapods mehr in Ihrem Projekt.
Aber Ihr Workspace, der auf das Pods-Projekt verweist, bleibt bestehen, Sie sollten manuell die folgenden 3 Dateien entfernen:
xx.xcworkspace
Podfile
Podfile.lock
Dann können Sie Ihr Projekt wieder verwenden.
Viel Spaß!
Getestete CocoaPod-Version = 1.2.0
- See previous answers
- Weitere Antworten anzeigen