Cocoapods es un programa que te ayuda a administrar bibliotecas de terceros (y quizás incluso las tuyas) para tus proyectos en xcode.
Cuando use cocoapods para su proyecto xcode, puede crear un Podfile que enumere las bibliotecas que desea incluir en un formato específico y dónde viven (generalmente una url de guthub) y qué versión y otras cosas útiles útiles para ayudarlo a administrar las dependencias.
Pero para usar una biblioteca con cocoapods, el proveedor de esa biblioteca debe tener un archivo podspec que defina las cosas necesarias, como dónde existen los archivos, el nombre del pod y la versión (que es una referencia a una etiqueta que especifique usando git en un commit particular)
¿Por qué necesitas una gestión de dependencias?
Cuando intente utilizar la biblioteca o el código fuente de otra persona, siempre puede copiar y pegar los archivos necesarios y agregarlos directamente al archivo del proyecto.
Pero luego, si hay un problema con la biblioteca y el proveedor creó una actualización, debe verificar la fuente, descargarla y agregarla a su proyecto.
Un sistema de administración de dependencias lo ayudará a administrar las versiones y también a actualizarlo adecuadamente con el menor impacto posible sobre cómo ha estado utilizando esa biblioteca.
Especialmente a medida que el proyecto crece en tamaño y complejidad, y la cantidad de bibliotecas de terceros que usa está creciendo, se convierte en un dolor de cabeza actualizar y realizar un seguimiento de las bibliotecas y la versión que desea.
Lo que la gente hacía antes de los cacaopodos
Git submódulos, y todavía son utilizados por muchas personas porque le da la posibilidad de actualizar fácilmente una biblioteca de terceros y el creador de la biblioteca no tiene que hacer un trabajo adicional como crear una especificación de pods o definir etiquetas.
Pero cocoapods tiene la capacidad de hacer cosas como especificar una versión específica y hacer comentarios alrededor de su Podfile para advertirle a usted y a otros en el futuro por qué no deberían actualizarse a la próxima versión, etc. Este tipo de notas e información faltan en los submódulos enfoque.
- Cómo descubrir enlaces profundos en una aplicación de iOS
- Cómo restablecer la contraseña de restricción en iOS 9
- ¿Qué plataforma es la mejor para las pruebas beta de iOS (Testflight, Hockey, etc.) a gran escala?
- ¿Qué tan cerca de una experiencia de aplicación de nivel nativo para iOS y Android puede hacer usando Meteor 1.0?
- ¿Qué es mejor para el diseño de la interfaz de usuario de la aplicación iOS, Photoshop o Sketch 3?