Comment créer sa librairie sous forme de Pod.
Les pods disponibles publiquement sont tous recensés sur le master repo de CocoaPods nommé Specs ici : https://github.com/CocoaPods/Specs
Lorsqu’on fait un pod update on vient mettre à jour notre repo local. Ça revient en gros à faire un git pull sur la master du repo de CocoaPods.
Du coup quand on fait un pod install toto, on regarde si le pod toto est sur l’image du repo Specs de CocoaPods qu'on a en local sur notre machine. C’est pour ça que dès fois il nécessaire de rafraîchir notre repo local par un pod update.
Lorsqu’on créé un pod,
- Sur le repo
Specsde CocoaPods - Sur notre repo
Specsperso public - Sans passer par un repo
Specs
- Sur un repo
Specsprivé - Sans passer par un repo
Specs
- Création de 3 repos
Specs,MyLib,MyApp - Ajouter votre repo privé à pod sur votre machine :
pod repo add MyPods https://github.com/jonathan-leininger/Specs.git- Vérifier que le repo est bien ajouté :
ls ~/.cocoapods/repos - Initialiser un projet Xcode de type pod :
pod lib create MyLib- Ouvrir
MyLib.xcworkspace - Editer le fichier
MyLib.podspec: renseigner les informations demandées - A la place du fichier
replaceMe.swiftajouter le code source de votre librairie. Toutes les classes et fonctions visibles doivent être préfixées depublic - Valider que le projet est bien configuré :
pod lib lint MyLib.podspec --allow-warnings- Pusher tout ça sur la branche
master - Ajouter la lib à votre repo :
pod repo push MyPods MyLib.podspec --allow-warnings- Créer votre projet
MyApp, puis dans votrepodfileajouter :
source 'https://github.com/jonathan-leininger/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
pod "MyLib"`pod install`- On peut passer outre le fait d'avoir un repo privé en ajoutant l'URL du Git :
pod "MyLib", :git => "https://github.com/jonathan-leininger/MyLib.git", :tag => '0.9.3'Sur le repo public de Cocoa pod, il vous faudra faire ainsi :
pod trunk register jonathan.leininger@open-groupe.com 'Jonathan Leininger'
pod trunk push MyLib.podspec --allow-warningsMàJ votre repo local : pod repo update
Il existe plusieurs tutos sur le net, mais je n'ai pas réussi à en trouver une qui expliquait tout et qui marchait de bout en bout ! https://code.tutsplus.com/tutorials/creating-your-first-cocoapod--cms-24332 https://code.tutsplus.com/tutorials/managing-private-pods-with-cocoapods--cms-25137 https://www.raywenderlich.com/126365/ios-frameworks-tutorial https://medium.com/@shahabejaz/create-and-distribute-private-libraries-with-cocoapods-5b6507b57a03 https://guides.cocoapods.org/making/private-cocoapods.html https://guides.cocoapods.org/making/making-a-cocoapod.html https://guides.cocoapods.org/making/using-pod-lib-create.html