Tout langage digne de ce nom possède un ou des gestionnaires de dépendance pour faciliter le développement d’application. Ils permettent de gérer les versions des différentes librairies, leur intégration, les liens qu’elles entretiennent entre elles et beaucoup plus encore.
Dès 2011 un projet open-source un projet nommé CocoaPods est sortie afin de résoudre de problème dont Apple ne s’occupait pas. Depuis ce projet est devenue la référence en la matière pour quiconque veut un gestionnaire de dépendance avec Xcode (Swift, Objective-C, iOS, OSX, WatchOS, TvOS, etc.). Avec la sortie de Swift en open-source Apple a sortie une version béta de son gestionnaire, Swift Package Manager, mais il n’est pas encore assez mature pour être utiliser.
Nous utilisons régulièrement CocoaPods pour les examples donc nous avons décidé de faire un tutoriel sur l’utilisation de cet outils. Ce tutoriel a pour but de vous expliquer comment l’utiliser dans vos projet et non pas sur la création vos propres librairies.
L’installation
2 possibilités s’offre à vous pour l’installation de CocoaPods.
Ligne de commande
CocoaPods est un outils écrit en Ruby et utilisant Ruby. Ce langage étant déjà installé par défaut sur OSX cela devrait se faire sans peine. Pour vérifier tout cela ouvrez un terminal de commande et tapez ceci :
sudo gem update --system
Cela va avoir pour effet de mettre à jour Ruby et RubyGem. Si ces packages ne sont pas disponible sur votre système je vous conseille de suivre ce tutoriel. Maintenant installons CocoaPods :
$ sudo gem install cocoapods
Voilà, maintenant vous devriez pouvoir rentrer la commande pod
dans votre invite de commande. Pour plus d’informations vous pouvez aller jeter un coup d’oeil sur la documentation officielle.
Application CocoaPods
Pour utiliser l’application rien de plus simple, rendez vous ici, télécharger l’application, décompressez l’archive et lancer l’application.
Lors de la première utilisation il vous demandera d’installer les « command-lines tools », ce que vous devriez faire si ce n’est pas le cas.
Création d’un projet
Pour vous montrer l’utilisation de CocoaPods, il est beaucoup plus simple de le faire au travers d’un example. Pour cela dans Xcode créer un nouveau projet iOS par example (peut importe le template) que vous nommerez « CocoaPodsProject ».
Création d’un Podfile
Maintenant que nous avons créé le projet, nous avons besoin d’ajouter un Podfile. Un Podfile est un fichier texte contenant des informations sur le projet ainsi que l’ensemble des dépendances nécessaire à notre projet. CocoaPods va se basé sur ce fichier pour télécharger les dépendance et les incorporer à notre projet. Pour le créer rien de plus simple, dans le terminal rendez vous à la racine de votre projet et tapez ceci dans le terminal :
touch Podfile
Ajouter les dépendances
Pour illustrer notre tutoriel nous allons utiliser deux librairies : Alamofire
et DynamicColor
. Tout deux supportent CocoaPods et peuvent donc être incorporés à notre projet. Pour ce faire il faut ouvrir le fichier Podfile et l’éditer (en ligne de commande avec vim, avec cotre éditeur de texte préféré ou avec l’application CocoaPods) :
platform :ios, '8.0'
use_frameworks!
target "CocoaPodsProject" do
pod 'Alamofire', '~> 3'
pod 'DynamicColor', '~> 2'
end
Ici nous avons tout d’abords défini la nature de notre projet qui est une application iOS qui supporte les version 8.0 et plus. Ensuite comme nous créons un projet en Swift nous devons spécifier que nous supportons les frameworks. Et pour finir nous rajoutons 2 pods à notre projet et plus spécifiquement la cible « CocoaPodsProject » : Alamofire
en version 3.x et DynamicColor
en version 2.x.
Installation des dépendances
Nous sommes maintenant prêt à installer et configurer notre projet pour utiliser ces dépendances. Pour ce faire fermé votre projet Xcode si ce n’est pas déjà fait puis si vous êtes en ligne de commande tapez ceci :
$ pod install
Si vous utiliser l’application CocoaPods allez dans le menu Build
puis Install ⌘B
.
Si s’est bien passé un fichier vous devriez voir apparaitre ces logs :
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Using Alamofire (3.2.0)
Using DynamicColor (2.3.0)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.
De plus un fichier CocoaPodsProject.xcworkspace
a du être créer dans le répertoire.
Utilisation des librairies
Maintenant ouvrez le workspace CocoaPodsProject
. Deux projets doivent apparaitre CocoaPodsProject
et Pods
.
Le premier est votre projet et le deuxième contient toute les dépendances. Pour les utiliser dans votre projet maintenant rien de plus simple. Dans les fichiers où vous avez besoin d’une des dépendances il vous suffit d’utiliser le mot clé import
suivi du nom de la librairie :
import Alamofire
import DynamicColor
Voilà ! C’est aussi simple que ça !
Mettre à jour les dépendances
À chaque fois que vous désirez ajouter, supprimer ou mettre à jour des dépendances dans votre projet il faudra utiliser cette ligne de commande :
$ pod update
Ou alors la commande Update ⌘U
dans le menu Build
de l’application.
Conclusion
Nous avons voulu faire le plus simple possible pour ce tutoriel. Donc si vous désirez plus de précision n’hésitez pas à nous demander.