Estructura del proyecto de la biblioteca de componentes de iOS

Descripción de la biblioteca de componentes del proyecto iOS

Nombre de la biblioteca de componentes: test-sdk-ios

1. Descripción

A veces, el proyecto no tiene una correspondencia uno a uno entre la biblioteca de componentes y la biblioteca de git. Las bibliotecas del mismo tipo pueden integrarse en el mismo repositorio de git y distinguirse por diferentes ramas.
En términos generales, el proyecto consta de lo siguiente: proyecto principal + componentes comerciales fuertemente relacionados (las funciones especiales, como el reconocimiento facial de terceros, pueden volver a desarrollarse en proyectos) + componentes comerciales generales (desarrollo secundario de bibliotecas de red, módulos de inicio de sesión, etc.) + componentes básicos de negocios (registros, conjuntos de métodos de categorías comunes, bases de datos, etc.) + componentes de biblioteca de terceros (afnetworking, masonry, etc.)

2. Descripción de la sucursal

wecom-temp-ffe54d5c448f0d3c4ce09ce14515cdd2.jpgComo se mencionó anteriormente, cada nombre de rama puede representar un componente, y las mejoras y actualizaciones de componentes se distinguen por nombre de rama + número de versión.

1. Directorio a nivel de sucursal

El directorio de jerarquía de sucursales corresponde a diferentes niveles de componentes. Por ejemplo, k_base corresponde al nivel de componente básico, k_common corresponde al nivel de componente comercial general, k_Thirds corresponde al nivel de componente de terceros y k_projectModule corresponde a los componentes comerciales fuertemente relacionados de el proyecto. En el directorio de sucursales se encuentran los directorios de sucursales de cada componente, un directorio de sucursales de componentes corresponde a un componente (módulo1, módulo2...)

2. Directorio de grupos de sucursales

Un directorio de grupo de sucursales puede tener varias sucursales, pero solo se permite almacenar las sucursales relacionadas con el componente
Reglas de nomenclatura del directorio de grupos de sucursales: nombre del componente. Tales como: Módulo de inicio de sesión

3. Rama de componente

Las ramas de componentes son ramas de desarrollo. Puede crear ramas correspondientes de acuerdo con sus propias necesidades de desarrollo, como module_dev_1.0.0.
Sugerencia: cree diferentes directorios en {{branch group directory}}, correspondientes a diferentes ramas, como release, dev, hotfix , para facilitar la administración.
Nota: habrá una rama con el mismo nombre que el directorio en {{branch group directory}}, como la rama {{module1}} en module1, que es equivalente a la rama principal. Después de otras se liberan las ramas, el contenido modificado debe fusionarse en esta rama. El principio es que la modificación directa no está permitida en

4. Rama especial

master分支:原本git仓库的默认分支,以后用不到
createPodDemo分支:新的组件从该分支创建出来

版本说明

1、相关说明

标签与版本

标签是git管理的一种手段,知识git某个提交的字符串描述,与库的版本不是完全相等的。如module1的{{1.0.0}}版本,可以对应git上饿{{1.0.0}}标签,也可以对应{{module1-1.0.0}}标签
cocoapods的版本管理及git标签的关系。
cocoapods的版本取的是module1.podspec文件中version字段的值,与git标签没有关系。
cocoapods获取某个版本的流程:

pod 'module',:git=>'git仓库地址',:tag=>'module-1.0.0'
复制代码

这里直接通过git地址查找

四、安装及开发

1、远程引用

通过远程引用,知识对代码的引用,没有修改的权限。适合发布版本或者在开发模式不需要修改源码的情况。

引用tag和分支都可以,频繁修改就用分支
pod 'module',:git=>'git仓库地址',:tag=>'module-1.0.0' 
pod 'module',:git=>'git仓库地址',:branch=>'branchName',subspecs => ['core','someother']
复制代码

2、本地引用

在开发模式下,当需要对组件进行修改时,需要将组件改为本地引用
1、将代码下载到与主工程同级目录。
2、切到对应组件版本的分支,如module1-0.2.0-hotfix,切换至该分支。 3、修改podfile,将module1的远程引用改成本地引用

pod 'module1', :path => '../k_projectModule'
复制代码

本地开发建议
我们很可能会同事对多个组件库进行修改,一个本地的k_projectModule库是无法满足的,可以将k_projectModule复制一份,将k_projectModule目录名改成相应的组件(如module2),然后在module2中切换到想要修改的分支。这样就不同频繁的暂存文件和切换分支。

五、新建组件

1. Determinar el nivel de los componentes.
2. Cree una nueva rama desde la rama createPodDemo.
3. Los componentes de terceros pueden encontrar directamente el código fuente y podspec, y arrastrarlos al almacén.

Supongo que te gusta

Origin juejin.im/post/7099374256953229326
Recomendado
Clasificación