English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Méthode détaillée d'utilisation de CocoaPods iOS

一、什么是CocoaPods

1、为什么需要CocoaPods
Lors du développement iOS, il est inévitable d'utiliser des bibliothèques open source tierces, comme SBJson, AFNetworking, Reachability, etc. Lors de l'utilisation de ces bibliothèques, il est généralement nécessaire de :

Télécharger les codes sources des bibliothèques open source et les intégrer au projet
Ajouter les frameworks utilisés par les bibliothèques open source au projet
Résoudre les relations de dépendance entre les bibliothèques open source et entre elles, ainsi que les problèmes de dépendance entre les bibliothèques open source et le projet, et vérifier les frameworks ajoutés en double
Lorsque les bibliothèques open source sont mises à jour, il est nécessaire de supprimer les bibliothèques open source utilisées dans le projet, puis de répéter les trois étapes précédentes, ce qui peut être très fatigant...
Depuis l'apparition de CocoaPods, ces tâches complexes n'ont plus besoin d'être faites manuellement. Nous n'avons qu'à faire un petit travail de configuration, et CocoaPods fera tout le reste pour nous !

2、什么是CocoaPods
CocoaPods est un outil qui nous aide à gérer les bibliothèques de dépendances tierces. Il peut résoudre les relations de dépendance entre les bibliothèques, télécharger les codes sources des bibliothèques, et en même temps, en créant un workspace Xcode, connecter ces bibliothèques tierces à notre projet pour que nous puissions les utiliser pour le développement.

L'objectif d'utiliser CocoaPods est de nous permettre de gérer automatiquement, de manière centralisée et intuitive les bibliothèques open source tierces.

二、安装CocoaPods

1、安装
CocoaPods est implémenté en Ruby, pour pouvoir l'utiliser, il est nécessaire d'avoir un environnement Ruby. Heureusement, le système OS X par défaut peut déjà exécuter Ruby, donc nous n'avons qu'à exécuter la commande suivante :

$ sudo gem install cocoapods 

CocoaPods est installé sous forme de paquet gem Ruby. Pendant le processus d'installation, il peut nous demander si nous voulons mettre à jour rake, tapez y. C'est parce que le paquet gem rake vérifie plus en détail pendant l'installation, et s'il y a une nouvelle version disponible, il apparaîtra comme l'option précédente.
À la fin du processus d'installation, exécutez la commande :

$ pod setup

Si il n'y a pas d'erreur, cela signifie que l'installation a réussi !
2、Problèmes potentiels rencontrés pendant l'installation
① Après l'exécution de la commande install, il n'y a pas de réponse pendant plus de la moitié du temps
Cela pourrait être dû au fait que le source par défaut de Ruby utilise cocoapods.org, et l'accès à cet URL peut poser des problèmes en Chine. Une solution courante en ligne consiste à remplacer le distant par Taobao, voici la méthode de remplacement :

$ gem sources --remove https://rubygems.org/ 
//Ensuite, tapez les commandes suivantes après que certaines réponses ont été obtenues 
$ gem sources -a http://ruby.taobao.org/ 

Pour vérifier si le remplacement a réussi, vous pouvez exécuter :

$ gem sources -l 

La sortie normale est :

*** CURRENT SOURCES *** 
http://ruby.taobao.org/ 

② La version gem est trop ancienne
gem est un paquet standard pour gérer les bibliothèques Ruby et les programmes, et une version trop ancienne peut également entraîner un échec de l'installation. La solution naturelle est de mettre à jour gem, exécutez la commande suivante :

$ sudo gem update --system 

③ Lors de l'exécution de la commande pod setup après l'installation, une erreur est signalée :

/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (>= 0) among 6 total gem(s) (Gem::LoadError)
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'

C'est un problème de configuration de chemin, qui peut être résolu en exécutant :

$ rvm use ruby-1.9.3-p448 

Résoudre ce problème.
3、mise à jour CocoaPods
La mise à jour est simple, il suffit de réexécuter la commande d'installation :

$ sudo gem install cocoapods 

Il est nécessaire de noter que si sudo a été utilisé lors de l'installation, le même mot-clé doit être utilisé lors de la mise à jour, sinon un problème de correspondance de chemin peut se produire après la mise à jour.


Troisième partie : Utilisation de CocoaPods
Si tout s'est déroulé comme prévu jusqu'à présent, vous pouvez maintenant découvrir les merveilles de CocoaPods en suivant les étapes suivantes :

Pour illustrer ce processus, j'ai créé un projet nommé CocoaPodsTest.

1et créez le Podfile
Tout dans CocoaPods commence par un fichier appelé Podfile. Nous devons d'abord créer ce fichier. Ma habitude est d'utiliser la ligne de commande, je fais ainsi :

$ cd /Users/wangzz/Desktop/CocoaPodsTest
$ touch Podfile

Tout d'abord, entrez dans le répertoire racine du projet, créez un fichier Podfile vide. La structure du répertoire créée est illustrée dans l'image suivante :

(PS : Le fichier Podfile peut également ne pas être placé dans le répertoire racine du projet, mais cela peut être un peu plus compliqué. Un article suivant expliquera cela, veuillez suivre l'actualité.)

2et éditez le Podfile
Selon vos besoins, vous pouvez écrire dans le fichier Podfile les bibliothèques tierces nécessaires. Prenez les bibliothèques SBJson, AFNetworking et Reachability comme exemple, le contenu de mon Podfile est le suivant :

platform :ios
pod 'Reachability', '~> 3.0.0'
pod 'SBJson', '~> 4.0.0'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'

3et exécutez la commande d'importation
Après avoir terminé les préparatifs, commencez à importer les bibliothèques tierces :

$ cd /Users/wangzz/Desktop/CocoaPodsTest
$ pod install

Tout d'abord, entrez dans le répertoire racine du projet et exécutez la commande pod install. CocoaPods commence alors à faire du téléchargement du code source, à configurer les dépendances, à inclure les frameworks nécessaires, etc. Le résultat de l'exécution de la commande est affiché comme suit :

Analyse des dépendances
Téléchargement des dépendances
Installation de AFNetworking (2.1.0)
Installation de JSONKit (1.5pré)
Installation de Reachability (3.0.0)
Génération du projet Pods
Intégration du projet client
[!] À partir de maintenant, utilisez `CocoaPodsTest.xcworkspace`.

Cela signifie que la commande pod install a réussi. Regardons également les changements apportés au répertoire racine du projet, comme illustré dans l'image suivante :

On peut voir que sous le répertoire racine du projet, il y a trois nouveaux éléments : CocoaPodsTest.xcworkspace, le fichier Podfile.lock et le répertoire Pods.

(PS : en raison de la limitation de la taille, le fichier Podfile.lock sera décrit dans le prochain article de la série, veuillez suivre avec attention.)

Regardons la dernière ligne du contenu affiché après l'exécution de la commande pod install :

[!] À partir de maintenant, utilisez `CocoaPodsTest.xcworkspace`.

Avis : à partir de maintenant, nous devons utiliser le fichier CocoaPodsTest.xcworkspace pour développer.
Pour les changements du projet, quelques points doivent être expliqués :

Les bibliothèques tierces seront compilées en bibliothèque statique pour être utilisées dans notre projet réel


CocoaPods organisera toutes les bibliothèques tierces sous forme de target pour former un projet nommé Pods, ce projet est placé sous le répertoire Pods récemment généré. L'ensemble du projet de bibliothèque tierce générera une bibliothèque statique nommée libPods.a pour que notre projet CocoaPodsTest puisse l'utiliser.

Notre projet et le projet de la bibliothèque tierce seront gérés par un nouveau workspace généré
Pour nous faciliter la gestion directe du projet et des bibliothèques tierces, le projet CocoaPodsTest et le projet Pods seront organisés et gérés sous forme de workspace, c'est-à-dire le fichier CocoaPodsTest.xcworkspace que nous avons vu précédemment.

Les paramètres d'origine du projet ont été modifiés. Dans ce cas, si nous ouvrons directement le fichier de projet d'origine pour le compilation, il会出现错误,我们只能使用新生成的workspace来进行项目管理。

Ouvrez CocoaPodsTest.xcworkspace, l'interface est la suivante :

La structure du répertoire du projet est très évidente.

Pour引用刚才添加的第三方库的头文件,在项目中执行编译操作,果断成功!
Ainsi, la partie utilisation de CocoaPods prend fin pour le moment. Ensuite, nous avons l'intention de présenter des aspects plus profonds de CocoaPods dans une autre partie, veuillez suivre avec attention.

Quatre, Références

1、http://code4app.com/article/cocoapods-install-usage
2、http://cocoapods.org/

Vous pourriez aussi aimer