English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
1. ¿Qué es CocoaPods?
1、¿Por qué necesitamos CocoaPods?
Al desarrollar iOS, es inevitable usar bibliotecas de código abierto de terceros, como SBJson, AFNetworking, Reachability, etc. Al usar estas bibliotecas, generalmente se necesita:
Descargar el código fuente de las bibliotecas de código abierto e importarlo al proyecto
Agregar los frameworks utilizados por las bibliotecas de código abierto al proyecto
Resolver las relaciones de dependencia entre las bibliotecas de código abierto y entre las bibliotecas y el proyecto, verificar problemas de adición repetida de frameworks, etc.
Si la biblioteca de código abierto tiene actualizaciones, también es necesario eliminar la biblioteca de código abierto utilizada en el proyecto y ejecutar los tres pasos anteriores de nuevo, ¡y el cerebro se nos hace grande!
Desde que se introdujo CocoaPods, estas tareas tediosas ya no requieren nuestro esfuerzo personal. Solo necesitamos realizar una pequeña configuración y CocoaPods se encargará de todo!
2、¿Qué es CocoaPods?
CocoaPods es una herramienta que nos ayuda a gestionar las bibliotecas de dependencias de terceros. Puede resolver las relaciones de dependencia entre las bibliotecas, descargar el código fuente de las bibliotecas y, al mismo tiempo, crear un workspace de Xcode para conectar estas bibliotecas de terceros con nuestro proyecto, facilitándonos el desarrollo.
El objetivo de usar CocoaPods es permitirnos gestionar de manera automatizada, centralizada e intuitiva las bibliotecas de código abierto de terceros.
2. Instalar CocoaPods
1、Instalar
CocoaPods se implementó en Ruby, para poder usarlo primero necesitamos tener un entorno de Ruby. Afortunadamente, el sistema operativo OS X ya tiene Ruby instalado por defecto, por lo que solo necesitamos ejecutar el siguiente comando:
$ sudo gem install cocoapods
CocoaPods se instala en forma de paquete gem de Ruby. Durante el proceso de instalación, puede preguntarnos si queremos actualizar rake, ingresar 'y' es suficiente. Esto se debe a que el paquete gem de rake verificará más detalladamente durante el proceso de instalación, y si hay una nueva versión disponible, aparecerá la opción anterior.
Al finalizar el proceso de instalación, ejecutar el comando:
$ pod setup
Si no hay errores, ¡es un signo de que la instalación ha sido exitosa!
2、Problemas que pueden surgir durante el proceso de instalación
①Después de ejecutar el comando 'install' no hubo respuesta durante medio día
Esto podría deberse a que el origen predeterminado de Ruby utiliza cocoapods.org, y a veces hay problemas para acceder a este sitio en el país, una solución propuesta en línea es reemplazarlo con el de Taobao, la forma de reemplazarlo es la siguiente:
$ gem sources --remove https://rubygems.org/ //Después de que estén respondiendo, ingrese los siguientes comandos $ gem sources -a http://ruby.taobao.org/
Para verificar si el reemplazo se ha realizado con éxito, puede ejecutar:
$ gem sources -l
La salida normal es:
*** CURRENT SOURCES *** http://ruby.taobao.org/
②La versión de gem es demasiado antigua
El paquete gem es el estándar para gestionar bibliotecas y programas de Ruby, si su versión es demasiado baja, también puede causar que la instalación falle, la solución natural es actualizar gem, ejecutar el siguiente comando:
$ sudo gem update --system
③Al ejecutar el comando 'pod setup' después de completar la instalación, se produjo un error:
/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': No se pudo encontrar 'cocoapods' (>= 0) entre 6 total gem(s) (Gem::LoadError) from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec' from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem' from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'
Este es el problema de configuración de la ruta, que se puede resolver ejecutando:
$ rvm use ruby-1.9.3-p448
Solucionar este problema.
3、actualizar CocoaPods
La actualización es muy sencilla, simplemente ejecutar el comando de instalación nuevamente:
$ sudo gem install cocoapods
Es necesario prestar atención, si se utilizó sudo durante la instalación, también se debe usar el mismo nombre durante la actualización, de lo contrario, después de la actualización, volverá a aparecer el problema de no coincidir con la ruta.
Tercero, usar CocoaPods
Si todo lo anterior se ha realizado sin problemas, a continuación, puede comenzar a experimentar con las maravillas de CocoaPods, y se deben seguir los siguientes pasos:
Para demostrar este proceso, he creado un proyecto llamado CocoaPodsTest.
1Creando Podfile
Todo en CocoaPods comienza con un archivo llamado Podfile, necesitamos crear este archivo primero. La costumbre personal es usar la línea de comandos, haré así:
$ cd /Users/wangzz/Escritorio/CocoaPodsTest $ touch Podfile
Primero ingrese al directorio raíz del proyecto y cree un archivo Podfile en blanco. La estructura del directorio después de su creación se muestra en la siguiente imagen:
(PS: El archivo Podfile también puede no estar ubicado en el directorio raíz del proyecto, lo que puede ser un poco más complicado. En el siguiente artículo se presentará esta información, por favor, siga el ritmo.).
2Editando Podfile
Según las necesidades, podemos escribir en el archivo Podfile las bibliotecas de terceros que necesitemos, por ejemplo, las bibliotecas SBJson, AFNetworking y Reachability. El contenido de mi archivo Podfile es el siguiente:
platform :ios pod 'Reachability', '~> 3.0.0' pod 'SBJson', '~> 4.0.0' platform :ios, '7.0' pod 'AFNetworking', '~> 2.0'
3Ejecute el comando de importación
Después de completar la preparación, comience a importar bibliotecas de terceros:
$ cd /Users/wangzz/Escritorio/CocoaPodsTest $ pod install
Primero ingrese al directorio raíz del proyecto y luego ejecute el comando 'pod install'. CocoaPods comenzará a realizar una serie de tareas como descargar el código fuente, configurar las dependencias e importar los frameworks necesarios, y el resultado de la ejecución del comando se imprimirá como se muestra a continuación:
Analizando dependencias Descargando dependencias Instalando AFNetworking (2.1.0) Instalando JSONKit (1.5pre) Instalando Reachability (3.0.0) Generando proyecto Pods Integrando proyecto cliente [!] A partir de ahora, utilice `CocoaPodsTest.xcworkspace`.
Esto indica que el comando 'pod install' se ejecutó con éxito. Ahora veamos los cambios que se produjeron en el directorio raíz del proyecto, como se muestra en la siguiente imagen:
Se puede ver que en el directorio raíz del proyecto se han añadido tres elementos: CocoaPodsTest.xcworkspace, el archivo Podfile.lock y el directorio Pods.
(PS: Dado el espacio limitado, el archivo Podfile.lock se presentará en el siguiente artículo de la serie, por favor, manténgase atento.)
Veamos la última línea del contenido impreso después de ejecutar el comando pod install:
[!] A partir de ahora, utilice `CocoaPodsTest.xcworkspace`.
Sugerimos que desde ahora, necesitemos usar el archivo CocoaPodsTest.xcworkspace para desarrollar.
Sobre los cambios que ocurren en el proyecto, hay algunos puntos que necesitan ser explicados:
Las bibliotecas de terceros se compilarán en bibliotecas estáticas para que nuestro proyecto las utilice realmente.
CocoaPods agrupará todas las bibliotecas de terceros en forma de target para formar un proyecto llamado Pods, que se colocará en el directorio Pods recién creado. Toda la biblioteca de terceros generará una biblioteca estática llamada libPods.a para que nuestro proyecto CocoaPodsTest la utilice.
Nuestro proyecto y el proyecto de la biblioteca de terceros estarán gestionados por un nuevo workspace.
Para facilitar la gestión directa del proyecto y las bibliotecas de terceros, el proyecto CocoaPodsTest y el proyecto Pods serán organizados y gestionados en forma de workspace, es decir, el archivo CocoaPodsTest.xcworkspace que vimos recientemente.
La configuración del proyecto original ha sido modificada. En este momento, si abrimos directamente el archivo del proyecto original para compilar, se generará un error. Solo podemos usar el workspace recién creado para la gestión de proyectos.
Abra CocoaPodsTest.xcworkspace, la interfaz es la siguiente:
La estructura de directorios del proyecto es muy clara.
Para citar el archivo de cabecera de la biblioteca de terceros recién agregada en el proyecto, ejecutar la operación de compilación y tener éxito sin dudarlo!
Hasta aquí, el capítulo sobre el uso de CocoaPods ha llegado a su fin. A continuación, planeo presentar un tema un poco más profundo sobre CocoaPods, por favor, manténgase atento.
Cuatro, referencias
1、http://código4app.com/artículo/cocoapods-instalar-uso
2、http://cocoapods.org/