Qu'est-ce que les Cocoapods? J'ai vu que de nombreux développeurs utilisaient des pods lors du développement d'applications pour installer des API, mais je ne comprends pas pourquoi vous ne pouviez pas simplement importer les fichiers manuellement. Quel est leur objectif et en quoi sont-ils utiles?
De cocoapods.org:
CocoaPods gère les dépendances de bibliothèque pour vos projets Xcode.
Les dépendances de vos projets sont spécifiées dans un seul fichier texte appelé Podfile. CocoaPods résoudra les dépendances entre les bibliothèques, récupérera le code source résultant, puis le liera ensemble dans un espace de travail Xcode pour construire votre projet.
En fin de compte, l'objectif est d'améliorer la découvrabilité et l'engagement dans les bibliothèques open source tierces en créant un écosystème plus centralisé.
Lien du projet: lien
Spécifications (outils tiers): lien
Guide de démarrage: lien
"CocoaPods est un gestionnaire de dépendances pour les projets Swift et Objective-C Cocoa. Il possède plus de 30 000 bibliothèques et est utilisé dans plus de 1,9 million d'applications. CocoaPods peut vous aider à mettre à l'échelle vos projets avec élégance." Via http://cocoapods.org
Essentiellement, il vous aide à incorporer des bibliothèques tierces, des cadres, dans votre produit sans se soucier de la façon de les installer et de configurer votre projet, ce qui peut parfois être très difficile.
En ce qui concerne pourquoi ne pouvez-vous pas simplement inclure des fichiers dans votre projet?
Puisqu'il s'agit de tierces parties, vous devrez donc les télécharger et les copier dans votre projet à chaque nouvelle version? Disons que vous avez 10 libs ou frameworks dans votre projet, imaginez maintenant le temps qu'il vous faudra pour vérifier si l'un d'eux a une nouvelle version que vous souhaitez mettre à jour? et pire si quelque chose ne fonctionne pas, vous devez revenir à la version précédente? Cela prend du temps et est une nuisance, avec CocoaPods
vous tapez simplement pod update
et met à jour ceux qui ont des versions plus récentes disponibles.
Maintenant, si vous voulez la v1.1 d'une bibliothèque particulière? Dans quelle mesure serait-il facile pour vous de parcourir l'historique des validations de Git pour trouver celui dont vous avez besoin? Avec CocoaPods, vous dites simplement pod 'AFrameworkLib', '1.1'
Chaque bibliothèque nécessite de configurer votre projet avec un certain ensemble de configuration pour les faire fonctionner, le faire pour une dizaine de bibliothèques, puis résoudre les conflits est une douleur en soi. Avec CocoaPods
, sa prise en charge est automatique.
Enfin, vous devez inclure des licences pour toutes les bibliothèques tierces que vous utilisez pour accorder du crédit au développeur d'origine de cette bibliothèque. Imaginez-vous copier 10 documents de licence et vous assurer qu'ils sont à jour? CocoaPod
crée automatiquement un fichier d'accusé de réception dans votre projet que vous pouvez simplement inclure dans un endroit approprié.
CocoaPods est un outil de gestion des dépendances pour les projets d'objectif C similaire à celui de Maven pour les projets Java, écrit en Ruby et composé de plusieurs Ruby Gems. L'idée est qu'une fois que vous avez ajouté les bibliothèques tierces à votre projet, vous n'aurez plus besoin de vérifier s'il existe des versions plus récentes. CocoaPods s'en chargera pour vous. Cela rend également le retour à une certaine version de la bibliothèque super simple. Pour l'utiliser, suivez les étapes suivantes. Plus de détails peuvent être trouvés sur le site officiel à http://cocoapods.org
Sudo Gem installe des cocoapods
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod 'AFNetworking'
pod 'ARAnalytics', '~> 2.7'
Pour chaque bibliothèque, vous pouvez éventuellement spécifier une version minimale.
pod setup pod install open YourApp.xcworkspace
Votre projet est maintenant prêt à démarrer. Notez que la dernière commande ci-dessus ouvre YourApp.xcworkspace, pas YourApp.xcodeproj, sinon vous obtiendrez l'erreur "bibliothèque non trouvée -lPods" lors de la création de votre application.