wake-up-neo.com

Wie entferne ich CocoaPods aus einem Projekt?

Wie kann ich CocoaPods richtig aus einem Projekt entfernen? Ich möchte den gesamten CocoaPod entfernen. Aufgrund einiger Einschränkungen, die mein Kunde auferlegt hat, kann ich ihn nicht verwenden. Ich brauche nur ein xcodeproj anstelle eines xcworkspace.

409
Andres

Das Entfernen von CocoaPods aus einem Projekt ist möglich, aber derzeit nicht über die CLI automatisiert. Wenn das einzige Problem ist, dass Sie keine xcworkspace verwenden können, können Sie CocoaPods nur mit xcodeprojs verwenden, indem Sie das --no-integrate -Flag verwenden, das den Pods.xcodeproj erzeugt, aber nicht ein Arbeitsbereich. Dann können Sie dieses xcodeproj als Unterprojekt zu Ihrem Haupt xcodeproj hinzufügen.

Wenn Sie wirklich alle CocoaPods-Integration entfernen möchten, müssen Sie einige Schritte unternehmen:

NOTE Das Bearbeiten einiger dieser Dinge könnte zu Fehlfunktionen Ihres Hauptprojekts führen. Ich empfehle Ihnen dringend, Ihre Projekte für den Fall der Quellcodeverwaltung zu überprüfen. Diese Anweisungen beziehen sich auch auf die CocoaPods-Version 0.39.0. Sie können sich mit neuen Versionen ändern.

  1. Löschen Sie die Standalone-Dateien (PodfilePodfile.lock und Ihr Pods -Verzeichnis.
  2. Löschen Sie den generierten xcworkspace
  3. Öffnen Sie Ihre xcodeproj -Datei, löschen Sie die Referenzen auf Pods.xcconfig und libPods.a (in der Gruppe Frameworks).
  4. Löschen Sie unter Ihrem Build Phases die Phasen Copy Pods Resources, Embed Pods Frameworks und Check Pods Manifest.lock.
  5. Dies mag naheliegend erscheinen, aber Sie müssen die Drittanbieter-Bibliotheken auf andere Weise integrieren oder Verweise darauf aus Ihrem Code entfernen.

Nach diesen Schritten sollten Sie ein einzelnes xcodeproj festlegen, das vor der Integration von CocoaPods vorhanden war. Wenn ich etwas verpasst habe, lass es mich wissen und ich werde das bearbeiten.

Wir sind auch immer auf der Suche nach Verbesserungsvorschlägen für CocoaPods. Wenn Sie also Probleme haben, senden Sie diese bitte in unseren Issue tracker ein, damit wir eine Lösung finden können!

EDIT

Als gezeigt von Jack Wu in den Kommentaren gibt es ein CocoaPods-Plugin eines Drittanbieters, das diese Schritte für Sie 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 dies tut. Beachten Sie auch, dass es von einem Mitglied des CocoaPods-Kernteams erstellt wird, damit das Problem kein Problem darstellt.

974
Keith Smiley

pod deintegrate und pod clean sind zwei Befehle, mit denen Sie CocoaPod aus Ihrem Projekt/Repo entfernen können.

Hier ist der komplette Befehlssatz:

$ Sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile

Die ursprüngliche Lösung wurde hier gefunden: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-s-von-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5

CocoaPod-Dokumentation zu pod deintegrate: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate

289
DevGansta

Um Pods vollständig aus einem Projekt zu entfernen, müssen Sie zuerst zwei Dinge installieren ... Dies ist das Folgende (vorausgesetzt, Sie haben bereits Kakao-Pods in Ihrem System installiert.) ...

  1. Cocoapods-Deintegrate Plugin
  2. Cocoapods-Clean Plugin

Installation

  1. Cocoapods-Deintegrate Plugin

    Verwenden Sie den folgenden Befehl in Ihrem Terminal, um es zu installieren.

    Sudo gem install cocoapods-deintegrate
    
  2. Cocoapods-Clean Plugin

    Verwenden Sie den folgenden Befehl in Ihrem Terminal, um es zu installieren.

    Sudo gem install cocoapods-clean
    

Verwendungszweck

Gehen Sie zunächst in Ihren Projektordner, indem Sie den üblichen Befehl wie .. verwenden.

cd (path of the project) //Remove the braces after cd

Verwenden Sie nun diese beiden Plugins, um sie wie folgt vollständig zu entfernen.

  1. Cocoapods-Deintegrate Plugin

    Verwenden Sie den folgenden Befehl in Ihrem Terminal, um die Pods zuerst aus Ihrem Projekt zu integrieren.

     pod deintegrate
    

 Deintegrating Pods

  1. Cocoapods-Clean Plugin

    Nach der Integration des Pods aus Ihrem Projekt verwenden Sie den folgenden Befehl in Ihrem Terminal, um ihn vollständig zu reinigen.

     pod clean
    

    Nachdem Sie die obigen Aufgaben ausgeführt haben, sollte sich die Poddatei noch in Ihrem Projektverzeichnis befinden. Löschen Sie diese Datei manuell oder verwenden Sie den folgenden Befehl auf dem Terminal.

     rm Podfile
    

Das ist es ... Jetzt haben Sie Ihr Projekt frei von Hülsen ... Gesäubert.

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 bzw. zu entfernen.

Sudo gem uninstall cocoapods

Es entfernt automatisch die Coca-Schoten.

Danke . Hoffe das hat geholfen.

48
onCompletion

Ich denke, es gibt einen einfacheren Weg, das zu tun.

Nach der akzeptierten Antwort 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 immer noch einige Dateien vorhanden:

Podfile
Podfile.lock
Workspace

Sie können sie manuell aus Ihrem Projekt entfernen. Aber es gibt auch ein anderes Tool, das Ihnen beim Reinigen hilft, dank cocoapods-clean .

Schließlich ist die Deinstallationsarbeit noch nicht abgeschlossen. cocoapods-clean bereinigen Sie die Podfile nicht, sondern führen Sie Folgendes aus:

rm Podfile

Prost!

Vor dem Entfernen sollten Sie sicherstellen, dass Sie ein Backup Ihres Projekts haben!

48
Allen

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 bestehen. Sie müssen die folgenden Dateien manuell entfernen: 

xx.xcworkspace
Podifle
Podfile.lock

Dann können Sie Ihr Projekt erneut verwenden. 

Habe Spaß! 

Testen Sie die CocoaPod-Version = 1.2.0

41
mistdon

Ich habe alle diese Antworten ausprobiert, aber es wurde immer noch nicht erstellt. Schließlich habe ich es versucht:

pod deintegrate
pod install

was eigentlich funktioniert hat!

Es ist, als müsste man alle Pod-Skripte aus den Build-Phasen entfernen und sie wieder hinzufügen, damit sie funktionieren, zumindest in meinem Fall.

17
David Rees

Die Antwort von Keith ist großartig - ich möchte nur darauf hinweisen, dass Cocoapods 0.36Dynamic Frameworks zu unterstützen beginnt, wenn Sie 'use_frameworks! In Ihrem 'Podfile' und Sie möchten die Cocoapods entfernen, müssen Sie Folgendes tun:

  • In der Build Phases Phase Embed Pods Frameworks löschen.
12
Chao Ruan

Der Entwickler kann zwei Aspekte berücksichtigen.

  • Entweder möchte er die Schoten vollständig aus dem Projekt entfernen
  • der Entwickler möchte ein bestimmtes Framework aus dem Projekt von pods deinstallieren.

Im ersten Fall müssen Sie 'pod deintegrate' verwenden und mehrere Schritte ausführen, die in den obigen Antworten erwähnt werden.

Für den zweiten Fall ist das, wenn Sie ein bestimmtes Framework deinstallieren möchten, das dort installiert ist, eine sehr einfache Möglichkeit, die in Ihrer Pod-Datei verfügbar ist, kommentieren Sie einfach das Framework, das Sie deinstallieren möchten, und führen Sie den Befehl pod install aus.

# 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

Hier möchte ich Facebook und Parser-Frameworks deinstallieren (die mit Pods installiert wurden) und nicht iCarousel. Aus diesem Grund habe ich meine Pod-Datei wie oben aktualisiert.

Wenn ich nun die Pod-Installation durchführe, bleibt iCarousel in meinem Projekt, und es wird Facebook entfernt und analysiert.

6
Aditya Shinde
  1. Als erstes müssen Sie den Ordner Podfile, Podfile.lock, den Ordner Pods und den generierten Arbeitsbereich entfernen.
  2. Entfernen Sie anschließend in .xcodeproj die Verweise auf die Pods.xcconfig-Dateien und die libPods.a-Datei.
  3. Löschen Sie auf der Projektregisterkarte Build Phases den Abschnitt Check Pods Manifest.lock (Öffnen), Abschnitt Pod-Ressourcen kopieren (unten) und Pod-Ressourcen einbetten (unten).
  4. Pods.framework entfernen.

Das einzige, was Sie vielleicht tun möchten, ist einige der Bibliotheken, die Sie zuvor verwendet haben. Sie können dies tun, indem Sie einfach alle Ordner, die sich in den Pod-Ordnern befinden, in Ihrem Projekt ablegen (ich ziehe es vor, sie in den Ordner Unterstützende Dateien zu legen).

Es hat für mich funktioniert. 

4
A.G

Wenn nicht, versuchen Sie es 
1. Reinigen Sie das Projekt.
2. gelöschte abgeleitete Daten.

Wenn Sie nicht wissen, wie abgeleitete Daten gelöscht werden, gehen Sie hier

Wie "abgeleitete Daten löschen" in Xcode6?

3
Ego Slayer
  1. Entferne den podfile Namen aus .plist 
  2. Installieren Sie den Pod erneut (verwenden Sie diesen Link für die Pod-Installation)
1
Bibin Joseph

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:

pod update

Dadurch wird der Pod entfernt, den Sie aus der Poddatei entfernt haben. Sie werden sehen, dass es im Terminal entfernt wurde:

Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing

Beachten Sie, dass bei dieser Methode auch alle Aktualisierungen für die anderen Pods in Ihrer Poddatei abgerufen werden. Sie können oder können das nicht wollen.

1
TM Lynch

Ich werde kurz schreiben, was ich getan habe (um alle CocoaPods aus meinem Projekt zu löschen).

  1. jeden hinzugefügten Ordner löschen (Frameworks, Pods, ...)
  2. alle hinzugefügten Dateien löschen (PROJECT.xcworkspace, PodFile, PodFile.lock, Pods-PROJECT.debug.xcconfig, Pods-PROJECT.release.xcconfig, ...)
  3. lassen Sie einfach Ihre ursprünglichen (PROJECT, PROJECT_Tests, PROJECT.xcodeproj)
  4. rahmenverweis aus dem Projekt auf Xcode entfernen

So entfernen Sie den Framework-Verweis aus Xcode:

  1. Verwenden Sie den Project Navigator
  2. Projekt auswählen
  3. Wählen Sie Target PROJECT aus
  4. Wählen Sie in den oberen Optionen Build-Phasen aus
  5. lassen Sie die Standardgruppen (Zielabhängigkeiten, Compile Sources, Linked Binary with Libraries, Copy-Bundle-Ressourcen) und löschen Sie alle anderen
1
SoliQuiD

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.

0
Berkant

enter image description here

bildliche Darstellung detailliert

0
vilas deshmukh

Verwenden Sie die folgenden Befehle des Terminals (vergessen Sie nicht, Sudo am Anfang neuer Zeilen zu verwenden):

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)

Deinstallieren Sie die Liste nacheinander wie folgt:

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
0
CrownFord

Löschen Sie alle zugehörigen Pod-Dateien.

xx.xcworkspace Podifle Podfile.lock

und Gehe zu Targets -> Build phase -> Hier entfernen Sie den [cp] Check Pods manifests.lock 

0
Mailavan C