iOS组件化开发流程

  • 前期准备工作
    • 注册仓库账号(gitHub/gitLabel/码云)
    • 注册trunk
    • 创建组件模版
    • 在组件模版里编写自己的代码
    • 修改.specs文件
    • push到仓库
    • 给组件打一个tag
    • 校验specs文件
    • 关联私有仓库或上传cocoapods

前期准备工作

组件化开发之前,我们先了解一下,什么是组件化,为什么要组件化开发
举个很简单的例子,我们平时在开发的时候用的第三方库,我们直接pod下来就可以使用,跟项目是分开的独立模块,就可以理解为一个组件,为什么要组件化开发呢,当我们的项目越来越庞大的时候,各模块之间耦合度比较高,尤其存在多个项目时,有的模块是一样的,那么我们就可以把这个模块分离处理,单独维护,供多个项目使用,节约开发和维护成本

注册仓库账号(gitHub/gitLabel/码云)

开头说到,我们要把公用或者项目不相关模块分离出来,那么这个分离出来的组件,这个分离出来的模块我们放在远端仓库,通过cocoapod管理,那么我们需要有远端仓库的账号,如果是公司项目,一般这个组件存放在自己公司gitLabel,如果公用组件可以放在gitHub上
1.这里以gitHub为例 ,在gitHub上创建一个仓库,名字跟你的组件名叫一样;
2. 拷贝仓库地址,备用,这里我以LQAlertViewKit为例子;

注册trunk

首先查看是否注册过,命令如下:

pod trunk me

如果没有注册,使用如下命令进行注册:

pod trunk register '邮箱地址' 's-ITBoy'

然后您的邮箱会受到一条信息,点击其中的链接进行验证,这样既完成注册了

接着您就可以操作如下命令进行查看:

pod trunk me

创建组件模版

我们可以在桌面新建一个文件夹,用来存放自己的组件,使用终端cd到这个文件夹下,使用 pod lib create [组件名],
例如pod lib create LQAlertViewKit

在组件模版里编写自己的代码

在创建的组件模版下面,有个classes文件,把自己写好的类,拷贝到这里面来,

删除replace文件,pod install,你会发现项目会出现这两个文件,如果你的组件有依赖库,还需如下图

修改.specs文件

push到仓库

cd到目录下,commit代码,然后push到仓库

git push origin master -f

给组件打一个tag

git tag 0.1.0版本号需要和specs版本号一致,如上图
git push --tags

校验specs文件

1.如果我们需要把组件索引存放在自己私有仓库里,那么我们还需要在github上建一个私有仓库,例如

然后把liqiuSpecs文件 添加到本地repo
pod repo add [仓库名] [仓库URL地址],仓库url地址https://github.com/qingqiusuomeng/liqiuSpecs.git

然后验证specs文件
pod lib lint LQAlertViewKit.podspec —sources='https://github.com/qingqiusuomeng/liqiuSpecs.git,https://github.com/CocoaPods/Specs.git' --verbose --allow-warnings --use-libraries --skip-import-validation

关联私有仓库或上传cocoapods

验证通过后推送组件索引到git,
pod repo push liqiuSpecs LQAlertViewKit.podspec --allow-warnings
1.如果443,取消代理
git config --global http.sslVerify false
如果要上传到cocoapos验证方式

pod lib lint —verbose --allow-warnings
pod trunk push 组件名.podspec --verbose --allow-warnings

iOS组件化开发流程相关推荐

  1. iOS组件化开发从开始到完整总结

    一.组件化介绍 需求来源 随着项目规模不断扩大,业务模块增多,开发过程中会有多条产品线(多人或多小组开发不同的功能);如果用传统的开发模式,会导致代码臃肿,编译速度越来越慢,开发效率低下,代码维护成本 ...

  2. iOS组件化开发实践

    目录: 1.组件化需求来源 2.组件化初识 3.组件化必备的工具使用 4.模块拆分 5.组件工程兼容swift环境 6.组件之间的通讯 7.组件化后的资源加载 8.OC工程底层换swift代码 9.总 ...

  3. 组件化开发之-我们有什么必要使用组件化开发?

    原创 2016-05-19 背景介绍: 首先简单说一下为什我会写这篇文章呢? 源于今天讨论,提到这个组件化开发和以前没有多大区别,都需要合作编码,共同开发某些相同模块,本来之前都是按照模块划分来开发的 ...

  4. iOS 的组件化开发

    2019独角兽企业重金招聘Python工程师标准>>> 在一个APP开发过程中,如果项目较小且团队人数较少,使用最基本的MVC.MVVM开发就已经足够了,因为维护成本比较低. 但是当 ...

  5. 【iOS】利用CocoaPods创建私有库进行组件化开发

    之前使用CocoaPods管理过第三方库,前面也有翻译文章介绍过CocoaPods的配置方法,随着项目越来越大,很多公司会使用CocoaPods进行组件化开发,下面利用一个demo介绍一下. ###什 ...

  6. iOS 组件化,插件化,模块化设计思路分析

    iOS 组件化,插件化设计思路分析 前言 随着用户的需求越来越多,对App的用户体验也变的要求越来越高.为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,V ...

  7. NOW直播——Flutter组件化开发方案

    作者:腾讯NOW直播 -koudleren(任晓帅) 前言 前面讲了Flutter和Native的混合开发模式,Flutter作为Native工程的一个Module存在,这样可以有效的将Flutter ...

  8. Android之组件化开发

    转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 在以前的项目中都是建一个基础库,项目依赖基础库,主项目中集成了所有的功能 ...

  9. android组件化开发视频教程,教你打造一个Android组件化开发框架

    作者简介 本篇来自 lucky_billy 的投稿,分享了他的开源组件化框架,详细地讲解框架形成的思路,希望对大家有所帮助. lucky_billy 的博客地址: 解读开源框架设计思想 B站学习视频 ...

最新文章

  1. linux环境变量管理器,运维 - linux(ubuntu) 环境变量管理 (持续更新)
  2. NET中验证控件表达式汇总
  3. softened softmax vs softmax
  4. java中数组属于哪种类型_在Java中,关于数组描述正确的是
  5. 邓公数据结构C++语言版学习笔记1
  6. java   cxf实现webservice接口方式之不依赖spring
  7. GUI中axes使用subplot时的清空及axes大小的固定的解决方法
  8. 网络原理 | TCP/IP中的连接管理机制 重要协议与核心机制
  9. python json删除字段_如何使用python删除json对象?
  10. python集合的元素可以是_Python - 集合与元素之集合定义和基本操作方法
  11. 人员优化浪潮下,苟住要紧。
  12. STM32单片机蜂鸣器实验
  13. wow.js动画插件
  14. MATLAB图中图绘制(局部放大图)
  15. 搜狐财报:年度盈利,长跑依旧
  16. mysql sus bench_susbench性能测试工具
  17. 企业管理中育人的一些心得
  18. 研华PCI1716L的C#编程
  19. 如何更高效、系统地学习3D视觉?
  20. 谁的青春不似梦,谁的梦里不青春

热门文章

  1. Linux系统she-bang介绍
  2. Dead Reckoning: 在网络游戏中消除延时影响
  3. Android汽车服务篇(四) CarAudioService
  4. TCP/IP协议簇之网络层
  5. Odoo的基础知识与环境配置
  6. odoo14 开发基本操作
  7. 常州大学计算机专业老师,常州大学信息科学与工程学院导师介绍:马正华
  8. greedy approach
  9. 数据可视化之Grafana
  10. 初中毕业以后,学5年的计算机专业如何?