NoticiasBlog.

Añadiendo una librería externa mediante Cocoapods.
4 mayo, 2018 | APPs, Desarrollo
Añadiendo una librería externa mediante Cocoapods.
En el desarrollo de un proyecto no siempre es necesario reinventar la rueda. Existen soluciones probadas que nos permiten no solo ganar tiempo, si no también seguridad, ya que han sido testadas por una gran cantidad de desarrolladores y desarrolladoras.
Estas soluciones (o librerías) se basan en la idea de distribución, compartición y reutilización de código, y son gestionadas mediante gestores de paquetes . Estos permiten, entre otras opciones, centralizar el código en servidores públicos con acceso tanto a los que van a usar esas librerías como a los que las desarrollan, haciendo muy sencillo el proceso de descubrirlas y añadirlas a nuestros proyectos.
La gran mayoría de lenguajes de programación modernos disponen de algún gestor oficial como Composer para PHP, Gradle para Java, NPM para NodeJS, RubyGems para Ruby, …
Apple también dispone del suyo, Swift Package Manager , orientado al lenguaje Swift y totalmente nuevo. Tan nuevo que apenas tiene un año, y por ese motivo esta vez nos centraremos en una de las dos alternativas que existen, Cocoapods.
Listado de gestores de paquetes para Swift:
- Swift Package Manager (https://swift.org/package-manager/)
- Cocoapod (https://cocoapods.org)
- Carthage (https://github.com/Carthage/Carthage)
Cocoapods
Cocoapods es el gestor de paquetes más utilizado a la hora de desarrollar Apps tanto para iOS como para OSX y también el más sencillo, y no es para menos, ya que aun estando desarrollado en Ruby permite usarlo sin apenas saber nada sobre Ruby.
Salió a la luz en 2011 y a día de hoy dispone de más de 45000 librerías que se usan en mas de 3 millones de apps.
Entre las librerías más usadas podemos encontrar las siguientes:
- AFNetworking: Descargada más de 60 millones de veces e instalada en más de 800.000 apps. (https://cocoapods.org/pods/AFNetworking)
- SDWebImage: Descargada más de 44 millones de veces e instalada en más de 600.000 apps. (https://cocoapods.org/pods/SDWebImage)
- Alamofire: Descargada más de 40 millones de veces e instalada en algo menos de 650.000 apps. (https://cocoapods.org/pods/Alamofire)
- MBProgressHUD: Descargada más de 28 millones de veces e instalada en más de 380.000 apps. (https://cocoapods.org/pods/MBProgressHUD)
- Firebase: Descargada más de 22 millones de veces e instalada en más de 460.000 apps. (https://cocoapods.org/pods/Firebase)
- SwiftyJSON: Descargada más de 20 millones de veces e instalada en más de 328.000 apps. (https://cocoapods.org/pods/SwiftyJSON)
- Masonry: Descargada más de 19 millones de veces e instalada en más de 318.000 apps. (https://cocoapods.org/pods/Masonry)
- Realm: Descargada más de 16 millones de veces e instalada en más de 173.000 apps. (https://cocoapods.org/pods/Realm)
- SVProgressHUD: Descargada más de 15 millones de veces e instalada en más de 258.000 apps. (https://cocoapods.org/pods/SVProgressHUD)
- MJRefresh: Descargada más de 9 millones de veces e instalada en más de 257.000 apps. (https://cocoapods.org/pods/MJRefresh)
Instalación
Para poder utilizar Cocoapods primero tendremos que instalarlo en nuestro equipo, un proceso tan sencillo como escribir una sola línea en la terminal. ????
$ sudo gem install cocoapods
Preparando el proyecto
Una vez que tengamos instalado Cocoapods tan solo nos quedará añadirlo a nuestro proyecto. Para ello comenzaremos creando el fichero “Podfile”, que es el encargado de gestionar las librerías que queramos añadir. El fichero lo crearemos mediante la terminal con el siguiente comando, que ejecutaremos desde la raíz del proyecto.
$ pod init
Este comando nos creará un archivo Podfile que utilizaremos para escribir en él todos los Pods que queramos añadir a nuestro proyecto.
El contenido del fichero, que lo podremos abrir con cualquier editor, es el siguiente.
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'Ejemplo-Pod-Binima' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for Ejemplo-Pod-Binima
end
pod ‘MBProgressHUD'
pod ‘OtraLibreria'
$ pod install
El archivo Podfile.lock guardará información sobre los Pods que se han descargado, principalmente la versión de cada Pod, y la carpeta Pods se usará para guardar en ella todos los Pods que descarguemos.
Síguenos
