CocoaPods est un outil de gestion des dépendances facile à utiliser pour le développement iOS et OS X. Bien que CocoaPods soit relativement clair et simple à utiliser, j’ai le sentiment que de nombreux développeurs de cacao sont réticents à l’essayer. Dans ce tutoriel, je vais vous montrer comment démarrer avec CocoaPods en moins de cinq minutes..
CocoaPods est un outil de gestion des dépendances pour le développement iOS et OS X. Cela facilite la gestion des bibliothèques tierces dans un projet Xcode. CocoaPods a acquis une influence considérable sur la communauté du cacao et, par conséquent, des centaines de bibliothèques à source ouverte fournissent désormais une assistance à CocoaPods. Pour avoir une idée des bibliothèques disponibles via CocoaPods, visitez le site Web de CocoaPods et recherchez certaines de vos bibliothèques tierces préférées. Des entreprises comme TestFlight, Mixpanel et Google rendent leurs bibliothèques disponibles via CocoaPods.
Travailler avec des bibliothèques tierces dans un projet Xcode n'est pas toujours facile et cela peut souvent être difficile, en particulier lors de l'intégration de bibliothèques non-ARC dans un projet activé par ARC. Eloy Durán a lancé le projet CocoaPods pour atténuer cette douleur. Avant de passer à CocoaPods, j’ai fait ce que la plupart des développeurs font; ils copient manuellement les fichiers sources de bibliothèques tierces dans un projet Xcode et les compilent avec le reste du projet. Même si cette méthode fonctionnait bien, la mise à jour des dépendances d'un projet était un processus fastidieux et sujet aux erreurs.
CocoaPods rend la gestion des dépendances d'un projet beaucoup plus simple et intuitive. Il vous suffit de spécifier les dépendances ou les pods que vous souhaitez inclure dans votre projet et CocoaPods se charge du reste. La mise à jour d'un pod vers une nouvelle version est aussi simple que d'exécuter une seule commande sur la ligne de commande. Si vous avez évité la ligne de commande dans le passé, le moment est peut-être bien choisi pour vous en familiariser..
Une autre grande caractéristique de CocoaPods est qu’il est distribué comme un joyau Ruby. Cela rend l'installation de CocoaPods pratiquement indolore. Pour installer la gemme CocoaPods, Ruby et RubyGems doivent être installés sur votre système. Ne craignez rien parce que Ruby et RubyGems sont probablement déjà installés sur votre ordinateur.
Ouvrez une nouvelle fenêtre de terminal et tapez gem -v
pour déterminer si RubyGems est installé sur votre système. Si vous avez besoin d’aide pour installer Ruby ou RubyGems, Andrew Burgess a écrit un excellent didacticiel sur RubyGems sur Nettuts +. Si vous rencontrez des problèmes lors de l'installation de CocoaPods, il est probable que l'article d'Andrew présente la solution à votre problème..
Avant d'installer CocoaPods, assurez-vous de mettre à jour RubyGems en exécutant la commande suivante sur la ligne de commande:
gem update --system
Selon la configuration de votre système, il peut être nécessaire de préfixer cette commande avec sudo
.
Si vous voulez en savoir plus sur Ruby et Rubygems, Jeffrey Way a écrit un bel article sur Ruby sur Net Tuts +. Le tutoriel d’Andrew Burgess, que j’ai déjà mentionné, fait partie d’une série détaillée intitulée Ruby for Newbies. Ça vaut définitivement la peine d'y jeter un coup d'oeil.
L'installation de CocoaPods est facile une fois Ruby et RubyGems installés. Il suffit de lancer ce qui suit:
gem installer des cocoapods
Une fois installé, configurez CocoaPods en lançant le programme configuration du pod
commander. Au cours du processus d’installation, l’environnement CocoaPods est formé et un .les cocoapodes
Le répertoire est créé dans votre dossier personnel. Ce dossier caché contient toutes les spécifications de pod ou de pod disponibles.
Au lieu d'expliquer le fonctionnement de CocoaPods, il est beaucoup plus facile de vous montrer en créant un simple projet Xcode à l'aide de CocoaPods. Ouvrez Xcode et créez un nouveau projet basé sur le Application vide modèle. Nommez le projet CacaoPods et assurez-vous d'activer ARC (Automatic Reference Counting) pour le projet (figure 1).
Figure 1Maintenant que nous avons créé le projet, nous devons ajouter un fichier podfile. Un Podfile est similaire à un Gemfile. Il s'agit d'un fichier texte contenant des informations sur le projet et incluant les dépendances du projet, c'est-à-dire les bibliothèques gérées par CocoaPods. Fermez le projet Xcode et ouvrez une nouvelle fenêtre de terminal. Accédez à la racine de votre projet Xcode et créez un nouveau fichier podfile en exécutant touchez Podfile
dans le terminal. le toucher
commande met à jour le modifié date d'un fichier, mais le crée pour vous s'il n'existe pas, c'est exactement ce que nous voulons. Assurez-vous de créer le fichier podfile à la racine de votre projet Xcode..
touchez Podfile
Ouvrez le fichier podfile dans votre éditeur de texte préféré. Au moment de la rédaction de ce didacticiel, la version actuelle de CocoaPods est 0.16. Dans cette version, il est nécessaire de spécifier la plate-forme, iOS ou OS X. Cela ne sera plus nécessaire dans la prochaine version de CocoaPods (0.17). Dans cet exemple, nous indiquons à CocoaPods que nous ciblons la plateforme iOS comme indiqué ci-dessous. Il est possible de spécifier la cible de déploiement du projet, mais cela est facultatif. La cible de déploiement par défaut est 4.3 pour iOS et 10.6 pour OS X.
plateforme: ios, '6.0'
Avec la plate-forme spécifiée, il est temps de créer la liste des dépendances pour le projet. Une dépendance est constituée du mot clé cosse
suivi du nom de la dépendance ou du pod. Un pod est comme une pierre précieuse, une dépendance ou une bibliothèque que vous souhaitez inclure dans un projet ou une application. Vous pouvez éventuellement spécifier la version de la dépendance comme indiqué ci-dessous.
pod 'SVProgressHUD', '0,9'
En omettant le numéro de version d'un pod, CocoaPods utilisera la dernière version disponible (c'est ce que vous souhaitez la plupart du temps). Vous pouvez également préfixer le numéro de version avec un spécificateur pour donner à CocoaPod plus de contrôle sur la version à utiliser. Les spécificateurs sont la plupart du temps explicites (>, > =
, <
, <=
), mais un spécificateur, ~>
, peut sembler étrange si vous n'êtes pas familier avec RubyGems. J'expliquerai quoi ~>
signifie dans l'exemple ci-dessous. La spécification de pod indiquée ci-dessous indique que la version de la bibliothèque AFNetworking doit être comprise entre 1.0.1
et 1.1
mais en excluant ce dernier. Ceci est très utile si vous souhaitez donner à CocoaPods la possibilité de mettre à jour les dépendances d'un projet lorsque des versions mineures (corrections de bogues) sont disponibles, tout en excluant les versions majeures pouvant inclure des modifications d'API susceptibles de casser quelque chose dans votre projet..
pod 'AFNetworking', '~> 1.0.1'
Une déclaration de dépendance a beaucoup plus d'options de configuration, qui peuvent être définies dans le fichier podfile. Si vous souhaitez utiliser la version de pointe d’une bibliothèque, par exemple, vous pouvez remplacer le numéro de version d’un pod par :tête
comme indiqué ci-dessous. Vous pouvez même indiquer à CocoaPods quelle source utiliser en spécifiant le référentiel git ou en référant CocoaPods à une copie locale de la bibliothèque. Ce sont des fonctionnalités plus avancées de CocoaPods.
pod 'AFNetworking',: pod de tête 'SVProgressHUD',: git => 'https://github.com/samvermette/SVProgressHUD' pod 'ViewDeck',: local => '~ / Development / Library / ViewDeck'
Avec notre liste de dépendances spécifiée, il est temps de poursuivre le processus d'installation. Mettez à jour le fichier podfile comme indiqué ci-dessous et exécutez-le. installation de pod
dans le terminal. Assurez-vous d’exécuter cette commande à la racine de votre projet Xcode où vous avez également créé le fichier podfile du projet..
plate-forme: ios, pod '6.0' 'ViewDeck', '~> 2.2.2' pod 'AFNetworking', '~> 1.1.0' pod 'SVProgressHUD', '~> 0.9.0' pod 'HockeySDK', '~ > 3.0.0 '
installation de pod
CocoaPods inspecte la liste des dépendances et installe chaque dépendance comme spécifié dans le fichier podfile du projet. La sortie sur la ligne de commande vous montre ce que CocoaPods fait sous le capot. Les deux dernières lignes nous intéressent particulièrement; CocoaPods crée un espace de travail Xcode et ajoute notre projet à cet espace de travail. Il crée également un nouveau projet nommé Pods, ajoute les dépendances répertoriées à ce projet et les lie de manière statique à une bibliothèque. Le projet Pods nouvellement créé est également ajouté à ce même espace de travail (figure 2)..
Résoudre les dépendances de./ Podfile 'Mise à jour des référentiels de spécifications Cocoapods 0.17.0.rc7 est disponible. Résolution des dépendances pour la cibledefault '(iOS 6.0) Dépendances de téléchargement Installation de AFNetworking (1.1.0) Installation de HockeySDK (3.0.0) Installation de SVProgressHUD (0.9) Installation de ViewDeck (2.2.5) Génération de fichiers de support 2013-03-28 11: 13: 54.663 xcodebuild [1352 : 1207] XcodeColors: load (v10.1) 2013-03-28 11: 13: 54.665 xcodebuild [1352: 1207] XcodeColors: pluginDidLoad: [!] À partir de maintenantCocoaPods.xcworkspace '. En intégrantlibPods.a 'dans la cibleProjet CocoaPods de Xcode./CocoaPods.xcodeproj '.
Figure 2 Lors de l'exécution du installation de pod
commande, CocoaPods nous dit que nous devrions utiliser le CocoaPods.xcworkspace
à partir de maintenant. Les espaces de travail Xcode sont un élément clé du fonctionnement de CocoaPods. Un espace de travail Xcode est un conteneur qui regroupe un ou plusieurs projets Xcode, ce qui facilite le travail avec plusieurs projets. Comme nous l’avons vu précédemment, CocoaPods crée pour vous un nouveau projet, nommé Pods
, et il ajoute automatiquement ce projet à un nouvel espace de travail Xcode. Le projet que nous avons commencé est également ajouté à cet espace de travail. Le principal avantage est que votre code et les dépendances du projet sont strictement séparés. Les dépendances du projet Pods sont liées de manière statique à une bibliothèque visible dans la liste. Phases de construction onglet de notre projet (figure 3). Il est important de ne pas oublier d'utiliser l'espace de travail créé par CocoaPods au lieu du projet avec lequel nous avons commencé. Notre projet est maintenant prêt pour nous et nous pouvons commencer à utiliser les bibliothèques spécifiées dans le fichier Podfile du projet..
Il est évident que CocoaPods facilite la configuration rapide d’un projet comportant plusieurs dépendances. Cependant, la mise à jour des dépendances devient également plus facile. Si une des dépendances de votre projet a reçu une mise à jour majeure et que vous souhaitez utiliser cette mise à jour dans votre projet, il vous suffit de mettre à jour le fichier Podfile de votre projet et de l'exécuter. pod update
sur la ligne de commande. CocoaPods mettra à jour les dépendances de votre projet pour vous.
La gemme CocoaPods a beaucoup plus d’astuces dans sa manche. Même si vous pouvez utiliser le site Web CocoaPods pour parcourir la liste des pods disponibles, le joyau de CocoaPods vous permet également de répertorier (liste
) et recherche (chercher
) les spécifications de pod disponibles. Ouvrez une nouvelle fenêtre de terminal et entrez la commande progression de la recherche dans les pods
pour rechercher des bibliothèques qui incluent le mot le progrès. L'avantage de rechercher des pods à l'aide de la ligne de commande est que vous ne voyez que les informations qui vous intéressent, telles que le source du pod et les versions disponibles..
Exécuter le cosse
commande (sans aucune option) pour voir une liste complète des options disponibles. Le manuel de CocoaPods est excellent, alors assurez-vous de le lire si vous rencontrez des problèmes ou si vous avez des questions..
Vous devez maintenant avoir une compréhension de base de CocoaPods afin de pouvoir utiliser CocoaPods dans votre développement. Une fois que vous commencez à utiliser CocoaPods, il est probable que vous ne pourrez plus vous en passer. Même si j'avais souvent entendu parler de CocoaPods, cela m'a pris du temps pour faire la transition. Cependant, une fois que j'ai commencé à utiliser CocoaPods, je n'ai créé aucun projet sans celui-ci. Je suis sûr que vous allez adorer une fois que vous aurez essayé. Cela vous fera non seulement gagner du temps, mais vous facilitera aussi un peu la vie en tant que développeur..