Red de conocimiento informático - Material del sitio web - Cómo publicar su propio marco de código abierto en CocoaPods

Cómo publicar su propio marco de código abierto en CocoaPods

Cree un archivo de descripción Podspec para su propio proyecto

Usaré un proyecto llamado HUPhotoBrowser para presentar este proceso.

Después de publicar el proyecto en github, es necesario etiquetarlo. Después de eso, inicializamos un archivo Podspec en el directorio raíz del proyecto:

1

pod spec create HUPhotoBrowser

Este comando generará un archivo Podspec en este directorio , el nombre del archivo es HUPhotoBrowser.podspec. Abra el archivo con un editor, ya contiene documentación muy rica. A continuación se presentará cómo declarar el directorio de códigos y el directorio de recursos de una biblioteca de terceros, así como el marco central de iOS y las bibliotecas de terceros de las que depende la biblioteca de terceros. Aquí está mi archivo podspec:

1

2

3

4

5

6

7

8

9

10

11

12

Pod::Especificación nueva do |s|

s.name = "HUPhotoBrowser"

s.version = "0.0.2"

s.summary = "explorador de fotos para ios."

s.homepage = "/hujewelz/HUPhotoBrowser"

s.license = "MIT"

s.author = { "Jewelz Hu" =gt; "hujewelz@163.com"}

s.platform = :ios, "7.0"

s .source = { :git =gt; "/hujewelz/HUPhotoBrowser.git", :tag =gt; "0.0.2" }

s.source_files = "HUPhotoBrowser", "HUPhotoBrowser/** / *.{h, m}"

s.frameworks = "UIKit"

# s.frameworks = "SomeFramework", "AnotherFramework"

s . name

es el nombre de nuestra biblioteca, s.version es el número de versión del código original de la biblioteca, s.summary es una breve introducción a nuestra biblioteca, s.s.platform es la plataforma de software compatible con nuestra biblioteca, esto es útil para compilar

en la confirmación final. s.source declara la dirección del código original. Lo estoy alojando en github, así que copié la dirección aquí.

Para muchas bibliotecas de terceros, se colocará una etiqueta cuando se publiquen. Por ejemplo, la versión 0.0.1 colocará una etiqueta denominada 0.0.1. También puede elegir el último envío como 0.0. de la biblioteca. 1 versión del código, entonces el código fuente final es así:

1

{:git = gt "/hujewelz/HUPhotoBrowser.git", : commit =gt; '65584b0e0b08e01f83e66d487180c164b5182409'}

Todavía estoy usando el marcado aquí, así que esto es lo que obtengo:

1

{ :git =gt; "/hujewelz/HUPhotoBrowser.git" , :tag =gt; "0.0.

s.source_files declara la ubicación del código fuente de la biblioteca, por lo que los errores no se pueden completar.

Mire primero la estructura de mi directorio:

Por lo tanto, la carpeta HUPhotoBrowse en el directorio raíz del proyecto es el directorio de código original de la biblioteca

1

s.source_files = "HUPhotoBrowser", "HUPhotoBrowser/**/. *.{h, m}"

Ojos

La jerarquía de entradas debe ser coherente con la jerarquía del código base. La parte anterior no se puede usar aquí porque mi HUPhotoBrowser/* * La última parte es consistente con la parte anterior. Los archivos en este directorio especificado

se compilarán si hay archivos de recursos (como imágenes, etc.). .) en este directorio, no es necesario compilar estos archivos. declaración de recursos para declarar estos archivos *.{h, m} es una cadena de expresión regular

que coincide con todos los archivos con .h y . m extensiones.

s.framework declara las bibliotecas principales de las que depende, por lo que se ve así:

1

s.framework = "UIKit"

Si depende de varias bibliotecas en su proyecto, puede usar

1

s.frameworks = "SomeFramework", "AnotherFramework"

Por supuesto, las bibliotecas que desarrollamos también pueden depender de bibliotecas de terceros, como JSONKit, así que haga la siguiente declaración:

1

s.dependency "JSONKit " , "~gt; 1.4"

Si hay varias dependencias, debe completar varias s.dependencies.

Después de editar el archivo podspec, debe verificar si el archivo está disponible. Si hay alguna ADVERTENCIA o ERROR, no se puede agregar al repositorio de especificaciones, pero la ADVERTENCIA de xcode puede existir. Debe ejecutar el siguiente comando:

1

pod spec lint PodName.podspec

Cuando vea que HUPhotoBrowser pasó la validación.

Después de editar el archivo podspec, puede guardarlo en el directorio local ~/.cocoapods/repos/master/Specs para su propio uso, o puede enviarlo a la base de código de CocoaPods/Specs.

Primero guardémoslo localmente:

Así es como puedes buscar para ver si puedes encontrar la biblioteca:

Además, en proyectos que necesitan depender de la biblioteca HUPhotoBrowser, puedes agregar lo siguiente en el Podfile de su proyecto

1

pod 'HUPhotoBrowser', '~0.0.2'

Guarde el archivo y use pod install para instalar la biblioteca HUPhotoBrowser .

La biblioteca Pod creada mediante los pasos anteriores sigue siendo solo para su propio uso. Continuaremos presentando a continuación cómo enviarla a la base de código CocoaPods/Specs para que otros también puedan instalar nuestro código abierto a través. Biblioteca de instalación de pods.

CocoaPods Trunk publica su propio Pod

Después de usar Trunk en cocoapods, CocoaPods requiere la versión 0.33 o superior. Utilice pod --version para verificar la versión. entonces necesita ser actualizado.

Registrar baúl

1

$ registro de baúl pod orta@cocoapods.org 'Orta Therox' --description='macbook air'

Todos deben sustituir su propio correo electrónico y nombre de usuario al registrarse. Si todo va bien, recibirá un correo electrónico. Haga clic en el enlace del correo electrónico y verifique:

1

pod trunk me

Por supuesto, si su El pod es mantenido por varias personas, también puedes agregar otros mantenedores:

1

$ propietario del complemento del tronco del pod ARAnalytics kyle@cocoapods.org

Después de completar Después de las operaciones anteriores, podemos iniciar el empuje del tronco.

Trunk push

El comando Pod Trunk Push primero verificará el archivo podspec local (verificará si hay algún error), luego cargará el archivo de especificaciones en el tronco y finalmente convertirá el cargó el archivo podspec en el archivo json requerido. Ejecute el comando en el directorio raíz del proyecto (incluido el archivo .podspec):

1

pod trunk push

Si se produce un error durante el proceso de inserción del troncal , tenga cuidado. Verifique el mensaje de error. La API que utilicé no está disponible en la versión descrita en el archivo podspec. Luego modifiqué s.platform = :ios, "7.0" en el archivo podspec.

Si puedes ver los resultados anteriores, significa que la carga se realizó correctamente. También podemos ver el archivo json convertido en el directorio local ~/.cocoapods/repos/master/Specs.

En este punto, todo el proceso de creación de nuestra propia biblioteca de código abierto está completo, si existe. any Para una nueva versión del proyecto, solo necesita modificar el archivo podspec en el directorio raíz del proyecto y luego volver a ejecutar el comando pod trunk push.

Finalmente

Para resumir todo el proceso:

1 Después de lanzar la biblioteca de código abierto, es necesario marcarla

2. Vaya al directorio raíz del proyecto y cree el archivo podspec

1

pod spec cree PodName

3. Edite la información en el archivo podspec.

Hay dos lugares importantes, s.source y s.source_files, donde puedes comprobar si hay errores:

1

pod spec lint PodName.podspec

4 Registrar el baúl del pod

1

$ registro del baúl del pod orta@cocoapods.org 'Orta Therox' --description='macbook air'

5. Liberar al tronco del pod

1

push del tronco del pod [NOMBRE podspec]

Este comando se ejecuta en el directorio que contiene el archivo .podspec

6. Actualizar la biblioteca del pod

1

configuración del pod

Si no puede buscar el pod en su propia biblioteca después de insertar con éxito el tronco del pod, por favor ejecute este comando.