xcode - tutorial - pod repo update




Comment supprimer CocoaPods d'un projet? (10)

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


  1. La première chose à faire est de supprimer Podfile , Podfile.lock , le dossier 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 du projet Construire les Phases, supprimez la section Vérifier le Manifeste des Pods (ouverte), la section Copier les Ressources des Pods (en bas) et les Ressources du Pod Intégré (en bas).
  4. Supprimer Pods.framework .

La seule chose que vous voulez faire est d'inclure certaines des bibliothèques que vous utilisiez auparavant. Vous pouvez le faire simplement en déplaçant tous les dossiers dans les dossiers de pods dans votre projet (je préfère les placer dans mon dossier Supporting Files).

Cela a fonctionné pour moi.



Il peut y avoir deux aspects que le développeur peut rencontrer.

  • Soit il veut retirer complètement les pods du projet
  • Le développeur veut désinstaller un framework particulier du projet des 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 si vous voulez désinstaller un framework particulier qui y est installé de manière très simple disponible dans votre fichier pod juste commenter le framework que vous voulez désinstaller et lancer la commande d'installation de pod.

# 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 en utilisant des pods) et pas iCarousel, c'est pourquoi j'ai mis à jour mon fichier pod comme ci-dessus.

Maintenant, si j'exécute pod installer, il va garder iCarousel comme il est dans mon projet et va supprimer facebook et analyser.


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

pod deintegrate
pod install

qui a réellement fonctionné!

C'est comme si elle devait supprimer tous les scripts de pod de vos phases de construction et les rajouter de nouveau pour que cela fonctionne, au moins dans mon cas.


Je vais écrire ce que j'ai fait très brièvement (pour supprimer tout CocoaPods 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. il suffit de laisser 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. Utilisez le navigateur de projet
  2. Sélectionner un projet
  3. Sélectionnez le projet cible
  4. Sélectionnez Construire les phases parmi les options du haut
  5. laissez les groupes par défaut (Dépendances cibles, Sources de compilation, Binaire lié avec les bibliothèques, Copier les ressources de l'ensemble) et supprimez tout autre

La réponse de Keith est géniale - je veux juste faire remarquer que parce que Cocoapods 0.36 commence à prendre en charge Dynamic Frameworks , si vous utilisez 'use_frameworks!' dans votre 'Podfile' et vous souhaitez supprimer les Cocoapods, vous devez faire ceci:

  • Sous Build Phases supprimez Embed Pods Frameworks phase d' Embed Pods Frameworks .


Suppression de CocoaPods d'un projet est possible, mais pas actuellement automatisé par le CLI. Premièrement, si le seul problème que vous avez est de ne pas pouvoir utiliser un xcworkspace vous pouvez utiliser CocoaPods avec juste xcodeproj en utilisant le drapeau Pods.xcodeproj - Pods.xcodeproj qui produira le Pods.xcodeproj mais pas un espace de travail. Ensuite, vous pouvez ajouter ce xcodeproj tant que sous-projet à votre xcodeproj principal.

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

NOTE éditer certaines de ces choses si mal fait pourrait casser votre projet principal. Je vous encourage fortement à vérifier vos projets dans le contrôle de la source au cas où. Aussi ces instructions sont pour CocoaPods version 0.39.0 , ils pourraient changer avec de nouvelles versions.

  1. Supprimez les fichiers autonomes ( Podfile Podfile.lock et votre répertoire Pods )
  2. Supprimer le xcworkspace généré
  3. Ouvrez votre fichier xcodeproj , supprimez les références à Pods.xcconfig et libPods.a (dans le groupe Frameworks )
  4. Sous vos Build Phases supprimez les Build 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 des références à leur code.

Après ces étapes, vous devriez être défini avec un seul xcodeproj qui existait avant l'intégration de CocoaPods. Si j'ai raté quelque chose, faites-le moi savoir et je modifierai ceci.

En outre, nous sommes toujours à la recherche de suggestions pour améliorer CocoaPods. Si vous avez des problèmes, veuillez les soumettre dans notre outil de suivi afin que nous puissions trouver un moyen de les résoudre!

MODIFIER

Comme le shown Jack Wu dans les commentaires, il existe un plugin CocoaPods tiers qui peut automatiser ces étapes pour vous. Il peut être trouvé here . Notez qu'il s'agit d'un plugin tiers et qu'il n'est pas toujours mis à jour lorsque CocoaPods l'est. Notez également qu'il est fait par un membre de l'équipe de base de CocoaPods afin que ce problème ne soit pas un problème.


pod deintegrate

Après ce cmd, aucune trace de Cocoapods ne reste dans votre projet.

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

xx.xcworkspace
Podifle
Podfile.lock

Ensuite, vous pouvez réutiliser votre projet.

S'amuser!

Version CocoaPod de test = 1.2.0


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

Voici l'ensemble complet des commandes:

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

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

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





cocoapods