sábado, 26 de marzo de 2016

¿Qué es CocoaPods?

Aviso, este artículo es para desarrolladores o proyectos de desarrolladores. Si no estáis interesados en la programación iOS podéis continuar leyendo el artículo, pero no os garantizo que podáis entender algo.

CocoaPods nos proporciona inyección de dependencias para iOS (también para OSX). En este artículo no entraré en la batalla de a favor o en contra de la inyección de independencias en un proyecto, simplemente me limitaré a explicar cómo hacerlo a través de cocoapods.

Tampoco vamos a explicar el patrón de diseño de DI (Dependency Injection), para eso hay numerosos libros y artículos por la red.

Lo primero que tendremos que hacer es abrir el terminal y escribir

$ sudo gem install cocoapods

Después creamos un proyecto en Xcode o utilizamos uno ya existente. En esta captura podéis ver un proyecto existente llamado inup donde tendremos que crear un archivo llamado Podfile con cualquier editor de texto. La otra opción es desde el terminal, en la ruta donde se encuentren el archivo del proyecto *.xcodeproj escribir el siguiente comando:


$ pod init


Vamos a añadir las dependencias necesarias para poder utilizar Google Analytics. La otra opción sería descargar el SDK y copiar los archivos y adjuntar las librerías necesarias. Pero como hemos comentado antes, en este artículo nos vamos a limitar al uso de cocoapods.

Para ello el archivo deberá contener lo siguiente:

platform :ios, '8.0'

target 'inup' do
  pod 'Google/Analytics', '~> 1.0.0'
end

Como podéis observar tenemos que indicar, plataforma, versión desde la cual será funcional, el nombre de la App (nombre del proyecto, NO el Bundle name aunque en la mayoría de las ocasiones coincide).

Podríamos añadir más dependencias tras la de Analytics y más comandos al archivo de configuración, pero lo dejaremos para un artículo posterior.

Volvemos a abrir el terminal y nos dirigimos a la ruta donde se encuentra el archivo Podfile y escribimos

$ pod install

Tras la ejecución de este comando si todo ha ido bien, si volvemos a la ruta del proyecto, veremos cómo se han creado una carpeta de Pod, un archivo Podfile.lock y un *.xcworkspace.



Pues bien, ahora podremos/deberemos abrir nuestro proyecto desde el archivo *.xcworkspace (también me dejo para otro artículo qué es y cómo trabajar con el *xcworkspace).

Si importamos 

#import <Google/Analytics.h> 

veremos como no salta ningún error ni ningún aviso y podemos trabajar directamente con la librería de Analytics (también me dejo esta librería para próximos artículos), sin necesidad de haber importado nada a mano (ejemplo práctico de inyección de dependencias).

Si queremos añadir otra dependencia bastará con añadirla a nuestro Podfile y con el proyecto cerrado desde el terminal escribir:

$ pod update

Si queréis más información en español habrá que esperar al próximo artículo. Mientras tanto y en inglés os recomiendo echar un ojo a cocoapods 



No hay comentarios:

Publicar un comentario