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.
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 xcodeproj
s 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.
Podfile
Podfile.lock
et votre répertoire Pods
)xcworkspace
généréexcodeproj
, supprimez les références à Pods.xcconfig
et libPods.a
(dans le groupe Frameworks
)Build Phases
, supprimez les phases Copy Pods Resources
, Embed Pods Frameworks
et Check Pods Manifest.lock
.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.
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
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.) ...
Installation
Cocoapods-Deintegrate Plugin
Utilisez cette commande suivante sur votre terminal pour l’installer.
Sudo gem install cocoapods-deintegrate
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.
Cocoapods-Deintegrate Plugin
Utilisez cette commande suivante sur votre terminal pour désintégrer les pods de votre projet en premier.
pod deintegrate
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é.
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é!
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
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.
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:
Build Phases
, supprimez Embed Pods Frameworks
phase.Il peut y avoir deux aspects auxquels le développeur peut être confronté.
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.
Podfile
, Podfile.lock
, Pods
et l’espace de travail généré..xcodeproj
, supprimez les références aux fichiers Pods.xcconfig
et au fichier libPods.a
.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.
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
podfile
de .plist
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.
Je vais écrire ce que iv a fait très brièvement (pour supprimer tout CocoaPod de mon projet) ..
Pour supprimer la référence du framework de xcode:
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.
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
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