web-dev-qa-db-fra.com

Comment supprimer CocoaPods d'un projet?

Quelle est la bonne façon de supprimer CocoaPods d'un projet? Je veux supprimer le CocoaPod entier. En raison de certaines limitations imposées par mon client, je ne peux pas l'utiliser. J'ai besoin d'avoir juste un xcodeproj au lieu d'un xcworkspace.

409
Andres

La suppression de CocoaPods d'un projet est possible, mais n'est pas actuellement automatisée par la CLI. Tout d’abord, si votre seul problème est de ne pas pouvoir utiliser un xcworkspace, vous pouvez utiliser CocoaPods avec seulement xcodeprojs en utilisant le drapeau --no-integrate qui produira le Pods.xcodeproj mais pas un espace de travail. Ensuite, vous pouvez ajouter cette xcodeproj en tant que sous-projet à votre xcodeproj principale.

Si vous voulez vraiment supprimer toute l'intégration de CocoaPods, vous devez faire quelques choses:

NOTE la modification de certaines de ces choses si cela est fait incorrectement pourrait casser votre projet principal. Je vous encourage fortement à vérifier vos projets dans le contrôle de source au cas où. De plus, ces instructions concernent la version 0.39.0 de CocoaPods, elles pourraient changer avec les nouvelles versions.

  1. Supprimer les fichiers autonomes (PodfilePodfile.lock et votre répertoire Pods)
  2. Supprimer la xcworkspace générée
  3. Ouvrez votre fichier xcodeproj, supprimez les références à Pods.xcconfig et libPods.a (dans le groupe Frameworks)
  4. Sous votre Build Phases, supprimez les phases Copy Pods Resources, Embed Pods Frameworks et Check Pods Manifest.lock.
  5. Cela peut sembler évident, mais vous devrez intégrer les bibliothèques tierces d'une autre manière ou supprimer leurs références de votre code.

Après ces étapes, vous devez définir une seule xcodeproj qui existait avant l'intégration de CocoaPods. Si quelque chose me manque, faites-le moi savoir et je l'éditerai.

De plus, nous sommes toujours à la recherche de suggestions pour améliorer CocoaPods. Si vous rencontrez des problèmes, envoyez-les dans notre outil de suivi des problèmes = afin que nous puissions trouver un moyen de les résoudre!

MODIFIER

Comme montré par Jack Wu dans les commentaires, il existe un plug-in CocoaPods tiers qui peut automatiser ces étapes pour vous. On peut le trouver ici . Notez qu'il s'agit d'un plug-in tiers et qu'il est possible qu'il ne soit pas toujours mis à jour lorsque CocoaPods l'est. Notez également qu’il est créé par un membre de l’équipe principale de CocoaPods afin que le problème ne soit pas un problème.

974
Keith Smiley

pod deintegrate et pod clean sont deux commandes désignées pour supprimer CocoaPod de votre projet/référentiel.

Voici le jeu complet de commandes:

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

La solution d'origine a été trouvée ici: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5

Documentation CocoaPod sur pod deintegrate: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate

289
DevGansta

Pour supprimer complètement les pods d'un projet, vous devez d'abord installer deux éléments ... ceux-ci sont les suivants (en supposant que vous ayez déjà des cacao-pod installés dans votre système.) ...

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

Installation

  1. Cocoapods-Deintegrate Plugin

    Utilisez cette commande suivante sur votre terminal pour l’installer.

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

    Utilisez cette commande suivante sur votre terminal pour l’installer.

    Sudo gem install cocoapods-clean
    

Utilisation

Tout d’abord, allez dans votre dossier de projet en utilisant la commande habituelle comme ..

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

Maintenant, utilisez ces deux plugins pour le supprimer complètement comme suit.

  1. Cocoapods-Deintegrate Plugin

    Utilisez cette commande suivante sur votre terminal pour désintégrer les pods de votre projet en premier.

     pod deintegrate
    

 Deintegrating Pods

  1. Cocoapods-Clean Plugin

    Après la désintégration du pod de votre projet, utilisez cette commande suivante sur votre terminal pour le nettoyer complètement.

     pod clean
    

    Une fois les tâches ci-dessus terminées, il doit rester du podfile dans le répertoire de votre projet. Supprimez-le simplement manuellement ou utilisez la commande suivante sur le terminal.

     rm Podfile
    

Ça y est ... Maintenant, vous avez votre projet libre de pods ... Nettoyé.

Suppression des Cocoapods du système.

Dans tous les cas, essayez d’utiliser la commande suivante sur votre terminal pour désinstaller/supprimer les coca-pods de votre système.

Sudo gem uninstall cocoapods

Il va supprimer les coca-gousses automatiquement.

Merci . J'espère que cela a aidé.

48
onCompletion

Je pense qu'il y a un moyen plus facile de le faire.

Comme modifié par la réponse acceptée, vous pouvez maintenant utiliser un plugin tiers cocoapods-deintegrate , il est fiable car il est créé par un membre de l’équipe de base de CocoaPods. 

Mais il reste encore des fichiers:

Podfile
Podfile.lock
Workspace

Vous pouvez les supprimer manuellement de votre projet ,, mais il existe également un autre outil pour vous aider à les nettoyer, merci cocoapods-clean .

Enfin, le travail de désinstallation n’est toujours pas terminé, cocoapods-clean ne nettoyez pas la Podfile, exécutez simplement:

rm Podfile

À votre santé!

Avant de supprimer, vous devez vous assurer que votre projet est sauvegardé!

48
Allen

pod deintegrate

Après cette cmd, il ne reste aucune trace de Cocoapod dans votre projet. 

Mais votre espace de travail référençant le projet Pods reste, vous devez supprimer manuellement les fichiers ci-dessous 3: 

xx.xcworkspace
Podifle
Podfile.lock

Ensuite, vous pouvez utiliser votre projet à nouveau. 

S'amuser! 

Tester la version de CocoaPod = 1.2.0

41
mistdon

J'ai essayé toutes ces réponses mais ça ne construisait toujours pas, j'ai finalement essayé:

pod deintegrate
pod install

qui a réellement fonctionné!

C'est comme si il fallait supprimer tous les scripts de pod de vos phases de construction et les rajouter pour que cela fonctionne, du moins dans mon cas.

17
David Rees

La réponse de Keith est excellente - je tiens simplement à souligner que parce que Cocoapods 0.36 commence à prendre en charge Dynamic Frameworks, si vous utilisez 'use_frameworks! Dans votre 'Podfile' et que vous souhaitez supprimer les Cocoapods, vous devez procéder comme suit:

  • Sous Build Phases, supprimez Embed Pods Frameworks phase.
12
Chao Ruan

Il peut y avoir deux aspects auxquels le développeur peut être confronté.

  • Soit il veut supprimer complètement les cosses du projet
  • le développeur souhaite désinstaller une structure particulière du projet de pods.

Dans le premier cas, vous devez utiliser 'pod deintegrate' et suivre plusieurs étapes mentionnées dans les réponses ci-dessus.

Pour le second cas, c’est-à-dire si vous souhaitez désinstaller un framework particulier qui y est installé de manière très simple et disponible dans votre fichier pod. Il suffit de commenter le framework à désinstaller et d’exécuter la commande 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

Ici, je veux désinstaller les frameworks facebook et parse (qui ont été installés à l’aide de pods) et non pas iCarousel, c’est pourquoi j’ai mis à jour mon fichier pod comme ci-dessus.

Maintenant, si je lance l'installation du pod, il gardera iCarousel tel qu'il est dans mon projet et supprimera facebook et analysera.

6
Aditya Shinde
  1. La première chose à faire est de supprimer les dossiers Podfile, Podfile.lock, Pods et l’espace de travail généré.
  2. Ensuite, dans le .xcodeproj, supprimez les références aux fichiers Pods.xcconfig et au fichier libPods.a.
  3. Dans l'onglet de projet Phases de construction, supprimez la section Vérifier les pods de contrôle (ouverte), la section de ressources de copie de pods (en bas) et les ressources de pods d'intégration (en bas).
  4. Supprimer Pods.framework.

La seule chose que vous voudrez peut-être faire est d'inclure certaines des bibliothèques que vous utilisiez auparavant. Vous pouvez le faire en glissant simplement dans votre projet les dossiers qui se trouvent dans les dossiers des modules (je préfère les placer dans mon dossier Fichiers de support).

Cela a fonctionné pour moi. 

4
A.G

Si cela ne fonctionne pas, essayez 
1. nettoyer le projet.
2. données dérivées supprimées.

si vous ne savez pas comment supprimer les données dérivées, cliquez ici

Comment "supprimer les données dérivées" dans Xcode6?

3
Ego Slayer
  1. Supprimer le nom podfile de .plist 
  2. Réinstallez le pod à nouveau (utilisez ce lien pour l'installation du pod)
1
Bibin Joseph

Si vous souhaitez simplement supprimer un pod et en conserver d’autres que vous avez peut-être installés, ouvrez le podfile dans votre répertoire d’application et supprimez celui que vous souhaitez supprimer. Ensuite, accédez au répertoire de votre application à l'aide d'un terminal et tapez:

pod update

Cela supprimera le pod que vous avez supprimé du podfile. Vous verrez qu'il a été supprimé dans le terminal:

Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing

Notez que cette méthode extraira également les mises à jour des autres pods de votre podfile. Vous pouvez ou non vouloir cela.

1
TM Lynch

Je vais écrire ce que iv a fait très brièvement (pour supprimer tout CocoaPod de mon projet) ..

  1. supprimer tout dossier ajouté (frameworks, pods, ...)
  2. supprimer tous les fichiers ajoutés (PROJECT.xcworkspace, PodFile, PodFile.lock, Pods-PROJECT.debug.xcconfig, Pods-PROJECT.release.xcconfig, ...)
  3. laissez juste vos originaux (PROJECT, PROJECT_Tests, PROJECT.xcodeproj)
  4. supprimer la référence du framework du projet sur xcode

Pour supprimer la référence du framework de xcode:

  1. Utiliser le navigateur de projet
  2. Sélectionner un projet
  3. Sélectionner la cible PROJET
  4. Sélectionnez les phases de construction parmi les principales options.
  5. laissez les groupes par défaut (dépendances cibles, sources de compilation, binaire lié avec des bibliothèques, copie des ressources d'un ensemble) et supprimez tous les autres
1
SoliQuiD

J'ai pu supprimer mes modules du projet à l'aide de l'application CocoaPods (version 1.5.2). Ensuite, je n'ai supprimé que les fichiers podfile, podfile.lock et xcworkspace du dossier.

0
Berkant

enter image description here

représentation imagée détaillée

0
vilas deshmukh

Utilisez ces commandes du terminal (N'oubliez pas d'utiliser Sudo au début des nouvelles lignes):

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)

Désinstallez la liste une par une comme ceci:

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

Supprimer tous les fichiers pod associés.

xx.xcworkspace Podifle Podfile.lock

et Goto Targets -> Phase de construction -> Ici, supprimez les pods de contrôle [cp] manifestests.lock 

0
Mailavan C