CocoaPods est un excellent outil d'aide à la gestion des dépendances lors de la création d'applications iOS ou OS X. CocoaPods a une maturité évidente après avoir été entouré et bien soutenu pendant des années. Bien qu'il soit très courant d'utiliser CocoaPod dans vos projets de logiciels iOS ou OS X, il est moins courant de créer un pod à utiliser. Ce tutoriel vous guidera dans la création de votre premier pod et vous donnera quelques conseils sur ce qui caractérise un excellent pod..
Bien entendu, pour créer un pod, vous devez installer CocoaPods. Il est disponible en tant que bijou Ruby de RubyGems. Pour installer CocoaPods, exécutez les commandes suivantes à partir de la ligne de commande:
gem installer des cocoapods
Ce tutoriel a été écrit contre CocoaPods 0.37.2.
À partir d'un niveau élevé, cinq étapes sont nécessaires pour créer votre premier module:
pod lib
commande pour créer la structure de répertoire squelette et les fichiers associés pour votre pod.Podstorming n'est pas un mot, mais il est temps de réfléchir aux fonctionnalités de votre premier pod. Il y a plus de 10 000 pods disponibles au public indexés dans le référentiel officiel de Specs. Les gens ont trouvé toutes sortes de choses à rendre disponibles sous forme de pod. Voici quelques suggestions pour vous aider à démarrer le podstorming, euh, je veux dire un brainstorming:
UIView
? Un code utilitaire spécifique comme celui-ci est un excellent exemple de ce qui peut être transformé en pod. Il est souvent déjà bien factorisé et découplé des autres bases de code existantes. Ce didacticiel vous guidera dans la création d’un module vous permettant de créer un UILabel
ça clignote. Nous l'appellerons BlinkingLabel.
Il est temps de creuser. Maintenant que vous connaissez les fonctionnalités que votre pod va fournir, il est temps de les créer. le pod lib
la commande est un outil important que nous utiliserons à deux fins au cours du processus de création.
peluches
va valider que tout va bien avec votre pod et qu'il est prêt à être utilisé par CocoaPods.pod lib crée
vous aidera réellement à vous donner un bon départ en fournissant une structure de répertoires standard avec un tas de fichiers standard nécessaires à un pod de haute qualité. pod lib crée
n'est pas le seul moyen de créer votre pod, mais c'est le plus simple.Ouvrez une fenêtre de terminal, accédez à un répertoire de travail et exécutez la commande suivante:
pod lib crée BlinkingLabel
Les tests n'entrent pas dans le cadre de ce didacticiel, mais ne le laissez pas vous empêcher d'enquêter davantage après ce didacticiel. Le rapport entre les tests et les lignes de code est un facteur pris en compte par le CocoaPods Quality Index..
Lorsque l’échafaudage de votre pod est configuré, Xcode ouvre votre tout nouveau projet et vous permet de travailler sur votre pod..
Trois métadonnées principales doivent être incluses dans votre pod:
pod lib crée
La commande remplit automatiquement le fichier LICENSE avec la licence MIT et c'est ce que nous allons utiliser pour ce tutoriel.. Pour obtenir le .podspec en forme, ouvrez-le dans Xcode. Vous le trouverez sous BlinkingLabel / Podspec Metadata / BlinkingLabel.podspec. Heureusement, CocoaPods a créé un modèle bien rempli pour nous lorsque nous avons exécuté le pod lib crée
commander. Vous êtes sur le point d'aimer encore plus cet outil. le peluches
commande validera automatiquement le .podspec fichier pour s’assurer qu’il est conforme aux meilleures pratiques. Ou, si vous êtes paresseux, vous pouvez également l'utiliser pour déterminer le minimum que vous devez faire pour créer .podspec fichier.
A partir de la ligne de commande, à la racine du projet BlinkingLabel, exécutez la commande suivante:
pod lib lint BlinkingLabel.podspec
Cela devrait produire les éléments suivants:
> pod lib lint BlinkingLabel.podspec -> BlinkingLabel (0.1.0) - WARN | Le résumé n'est pas significatif. - WARN | La description n'est pas significative. - WARN | Un problème est survenu lors de la validation de l'URL https://github.com/./ BlinkingLabel. [!] BlinkingLabel n'a pas passé la validation. Vous pouvez utiliser l'option '--no-clean' pour inspecter tout problème.
L'outil vous indique qu'il y a trois choses qui doivent être corrigées dans le .podspec fichier:
Voici quelques valeurs suggérées pour ces champs:
UILabel
qui fait un clin d'oeil.UILabel
qui peut être démarré et arrêté de clignoter.Mais attendez, si vous avez suivi les instructions pas à pas, techniquement, il n’ya pas encore de projet à cette URL. Il est temps de placer votre projet dans un référentiel public sur GitHub. Bien qu'il existe d'autres options pour l'hébergement de vos pods, GitHub est de loin le plus répandu.
Pour pousser votre projet sur GitHub, accédez à GitHub, connectez-vous ou créez un compte, puis créez un Nouveau référentiel appelé BlinkingLabel. Ensuite, à partir de la ligne de commande, exécutez les commandes suivantes:
git add. git commit -m "Commit initial" git remote add origine https://github.com//BlinkingLabel.git // replace avec votre nom d'utilisateur github.com git push -u origin master
À ce stade, si vous avez tout fait correctement et peluche le .podspec déposer à nouveau, il devrait passer la validation.
> pod lib lint BlinkingLabel.podspec -> BlinkingLabel (0.1.0) BlinkingLabel a passé la validation.
Vous avez maintenant le shell de base d'un pod, mais il ne fait rien. Il est temps d'ajouter des fonctionnalités. La particularité de l’exemple de projet créé par CocoaPods est que vous pouvez écrire simultanément du code pour le pod et l’exemple de projet..
D'abord, trouvez le fichier ReplaceMe.swift sous Pods / Pods de développement / BlinkingLabel / Pod / Classes / et le supprimer.
Ensuite, créez un nouveau fichier Swift dans le même répertoire et nommez-le. BlinkingLabel.swift. Remplacez le contenu du nouveau fichier par ce qui suit:
Classe publique BlinkingLabel: UILabel fonction publique startBlinking () options de let: UIViewAnimationOptions = .Repeat | .Autoreverse UIView.animateWithDuration (0.25, délai: 0.0, options: options, animations: self.alpha = 0, complétion: nil) public func stopBlinking () alpha = 1 layer.removeAllAnimations ()
Vous venez d’ajouter des fonctionnalités à votre premier pod, une sous-classe sur UILabel
. La sous-classe fournit une méthode pour faire clignoter l'étiquette et une autre méthode pour l'empêcher de clignoter.
Pour que les autres développeurs comprennent facilement comment utiliser BlinkingLabel
, ajoutez un exemple de code au projet d'exemple. Ouvrir BlinkingLabel / Exemple pour BlinkingLabel /ViewController.swift et le faire ressembler à ceci:
import UIKit import Classe BlinkingLabel ViewController: UIViewController var isBlinking = false let blinkingLabel = BlinkingLabel (frame: CGRectMake (10, 20, 200, 30)) remplace la fonction viewDidLoad () (super). = "Je cligne des yeux!" blinkingLabel.font = UIFont.systemFontOfSize (20) view.addSubview (blinkingLabel) blinkingLabel.startBlinking () isBlinking = true // Crée un bouton UIB pour basculer le let clignotant. ) toggleButton.setTitle ("Toggle Blinking", pour State: .Normal) toggleButton.setTitleColor (UIColor.redColor (), pour State: .Normal) toggleButton.addTarget (toggleButton) func toggleBlinking () if (isBlinking) blinkingLabel.stopBlinking () else blinkingLabel.startBlinking () isBlinking =! isBlinking
À ce stade, vous verrez Xcode se plaindre de nombreuses erreurs dans ViewController.swift. C'est parce que le pod pour BlinkingLabel
n'est pas encore installé sur le projet d'exemple. Pour ce faire, passez en ligne de commande et à partir de la racine du BlinkingLabel répertoire exécutez la commande suivante:
> Exemple de cd> installation de pod Analyse des dépendances Récupération de podspec pour 'BlinkingLabel' à partir de '… /' Téléchargement de dépendances Installation de BlinkingLabel 0.1.0 (version 0.1.0) Génération du projet de pods Intégration du projet client
Ensuite, revenez à Xcode et sélectionnez le BlinkingLabel-Example cible et cliquez sur le Courir bouton.
Vous devriez voir quelque chose comme ça:
Robinet Basculer Clignotant pour essayer votre nouveau pod. La dernière étape de la création de votre pod consiste à mettre à jour le fichier README.md. Dans Xcode, ouvrez LISEZMOI.md sous BlinkingLabel / Podspec Metadata / README.md. Vous verrez que CocoaPods a ajouté une documentation par défaut pour vous. Ne vous arrêtez pas là, vous pouvez le rendre meilleur. Ajoutez de la documentation sur le pod et incluez une capture d'écran. N'oubliez pas qu'un fichier README est souvent la première chose que quelqu'un verra en regardant votre pod. Il est important que ce soit de haute qualité. Jetez un coup d'œil au mien pour vous inspirer.
Maintenant que vous avez un pod entièrement fonctionnel sur votre ordinateur local, il est temps de faire BlinkingLabel à la disposition des autres pour les inclure dans leurs projets. A un niveau élevé, ceci est accompli en introduisant votre nouveau pod dans le référentiel public de spécifications..
le Spécifications référentiel est la place publique sur GitHub où tous les pods publics sont indexés. En réalité, vous n'êtes pas obligé d'utiliser GitHub pour héberger le code source de votre pod. Vous pouvez également utiliser BitBucket par exemple. Les spécifications de votre pod seront stockées dans le référentiel Specs sur GitHub si.
Il est très simple d’ajouter votre pod au référentiel Specs. Il existe trois étapes pour soumettre votre pod.. N'essayez pas ces étapes car j'ai déjà rendu public BlinkingLabel. Ils ne sont là que pour servir de référence.
Avant de commencer, assurez-vous que les modifications locales apportées à la BlinkingLabel les répertoires du projet sont ajoutés à git et poussés vers la télécommande.
Marquez votre commit le plus récent et poussez-le vers la télécommande.
> balise git 0.1.0> origine git push 0.1.0 total 0 (delta 0), réutilisé 0 (delta 0) à https://github.com/obuseme/BlinkingLabel.git * [nouvelle balise] 0.1.0 -> 0.1.0
Cette étape indique que vous marquez ce commit comme une version spécifique de votre pod. Le nom de la balise doit correspondre à la version dans ton .podspec fichier. La prochaine étape validera cette.
Ensuite, exécutez la commande suivante à partir de la ligne de commande pour vérifier que tout est configuré correctement entre l'emplacement de stockage de votre code source et votre .podspec fichier:
peluche spéc. pod BlinkingLabel.podspec
Cela devrait produire les éléments suivants:
> Spécification de cosse BlinkingLabel.podspec -> BlinkingLabel (0.1.0) Analyse 1 podspec. BlinkingLabel.podspec a passé la validation.
Enfin, poussez la spécification à la Spécifications référentiel en exécutant la commande suivante:
pod trunk push BlinkingLabel.podspec
Cela devrait produire les éléments suivants:
> pod trunk push BlinkingLabel.podspec Mise à jour du référentiel de spécification 'master' Validation de podspec -> BlinkingLabel (0.1.0) Mise à jour du référentiel de spécification 'master' - URL de données: https://raw.githubusercontent.com/CocoaPods/Specs/f7fb546c4b0b4c09cdcdcdcdcd /BlinkingLabel/0.1.0/BlinkingLabel.podspec.json - Messages du journal: - 29 juin, 20h40: Appuyez pour "BlinkingLabel 0.1.0" lancé. - 29 juin, 20h40: La poussée pour 'BlinkingLabel 0.1.0' a été poussée (1.701885099 s).
Il y a littéralement des milliers de pods disponibles dans le Spécifications dépôt. Lors de la recherche d'un pod, il n'est pas facile de déterminer la qualité d'un pod. Lorsque vous introduisez du code tiers dans votre projet, vous souhaitez avoir un niveau de confiance élevé en ce qui concerne le code que vous enverrez aux clients. Historiquement, un développeur devait faire sa propre interprétation de la qualité d’un pod aléatoire qu’il trouvait.
Depuis juin 2015, CocoaPods a fourni un outil appelé Indice de qualité qui fournit un jugement résumé sur la qualité d'un pod donné en fonction de certains paramètres. Les métriques les plus complètes et les plus récentes sont disponibles sur GitHub..
En résumé, voici des choses qui peuvent aider à améliorer la Indice de qualité de votre pod:
le Indice de qualité d’un pod peut monter ou descendre en fonction de la conformité d’un projet donné à ces métriques.
Créer des modules que les autres utilisateurs peuvent utiliser est amusant et constitue un bon moyen de contribuer à la communauté. Ce tutoriel vous a montré quels éléments de code permettent de créer de bons pods, comment créer votre premier pod, comment le rendre public, et quelles techniques peuvent vous aider à créer un excellent pod..
Vous avez maintenant les connaissances nécessaires pour créer votre premier pod. J'aimerais entendre ce que vous avez à l'esprit pour construire. S'il vous plaît revenir et déposer un lien vers votre pod une fois qu'il est créé.