iOS 远程私有库制作(组件化第一步)

在我们进行 iOS 开发的时候, 如果说, 项目业务单一开发人员少的话, 那么就直接在一个项目写 就行了, 但是 如果说是大型项目,很多个开发人员同时开发, 那么久很可能合并代码的时候发生冲突, 而且耦合性太严重,

那么解决这种耦合性的问题, 于是就有人提出了组件化开发, 组件一般分为3种组件,

1:基础组件(每个模块都需要用的,如网络请求)
2:功能组件(如果你封装了一个好用的一块代码, 直接就能一句代码实现一个功能)
3:业务组件 (每个业务都是一个组件 可以依赖于基础组件, 功能组件)

注意的是 :基础主键 不能和功能组件相互依赖,

如图
私有库集成流程.png

组件化的优势在于一下几点

1. 完全解耦每个业务代码
2. 每个组件都是一个单独的项目 可独立运行 独立测试
3.完美解决多人同事开发冲突问题 等等......

唯一的缺点 就是工作量比较大, 不是很适合小型项目使用

那么下面就开始讲做组件化的第一步

做远程私有库

第一步 需要在 Coding 或者码云这种平台 创建一个项目

比如叫做YFBase 并且 copy 他的代码地址, 我这里用的是 ssh 需要配置证书, 有相 关教程 我这里就不去写了

####### 第二步 前往->个人-cocoapods->repos 文件加下面

####### 第三步 cd 到 repos 文件目录下!
使用

pod repo (查看你的庫 master 为官方的 其他的都是你自己的)
WeChated6de3c4a6c673bf2e639a7c022d0e22.png

####### 第四步 添加 repo 源路径

使用 pod repo add YFBase https://git.coding.net/wyxlh/YFSpecs.git 关联并添加索引 这里的地址是指的你远程仓库的地址

在使用 pod repo 即可查看
WeChat0c44c3511ca2b6f7add343450d0cf973.png

####### 第五步 需要把你所需要的一些代码上传的远程私有库 新建一个文件夹 如图
屏幕快照 2018-11-19 下午2.49.25.png
cd到 remoteLib 文件下面去

pod lib create YFBase   刻印模板

会弹出 如图所示
屏幕快照 2018-11-19 下午2.51.35.png

之后在填写 完成之后就会出现一个工程
屏幕快照 2018-11-19 下午2.53.14.png

####### 第六步 就是把你的写的代码放在 Classes 文件夹下面
屏幕快照 2018-11-19 下午2.55.08.png

####### 第七步 就是进入到 Example 文件夹下面安装 使用 pod install 安装

WeChata87072708e8bf3b1ae9504f4dee4dfc2.png

####### 第八步 需要将 YFBase 里面的东西全部提交到远程仓库里面去

(1) cd 到 YFBase 里面去

(2) git status 查看YFBase文件状态

(3) git add . 添加

(4) git commit -m ‘测试’ 

下面就是将代码上传到远程仓库了, 但是在上传之前需要将YFBase.podspec编辑下 如图
屏幕快照 2018-11-19 下午3.09.35.png

完成之后在使用 pod lib lint进行本地验证
屏幕快照 2018-11-19 下午3.38.25.png

####### 第九步 在把这些添加上去

1)git add . 添加

(2) git commit -m ‘测试’ 

(3) git remote

(4) git remote add origin https://gitee.com/www.shancu.com/YFBase.git (关联仓库)

(5) git remote 

(6)git push origin master (提交代码)

(7) 验证下 pod spec lint 远程的

(8) git tag 查看

(9) git tag ‘0.1.0’ 和 spec 文件统一

(10) git tag 查看

(11) git push —tags

最后 把spec 文件提交到我们自己的私有库里面去

pod repo push YFBase YFBasepodspec
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近在学习vue.js的时候发现,vue的组件化的思想对于编写代码是一个非常有用的事情。 首先为什么需要组件化? ...
    拂晓的云阅读 12,016评论 6 23
  • 前言: 本文转自前同事casa的博文,这篇文章是基于runtime实现的iOS组件化方案,其实iOS组件化方案基本...
    monkey01阅读 5,592评论 1 2
  • 深秋时节,隐隐的有些凉意。午后的小路上,一个人踩着落叶,沙沙作响。抬眸,一片枫叶落在身旁,我轻轻地拾起它,小小的一...
    芷伊Jennifer阅读 2,976评论 0 0
  • 导读:常言说:“谦受益,满招损!”谦虚一向是中华民族的优秀品德,如果不谦虚呢?会发生什么呢?一群玩具争斗了起来。 ...
    江俊博阅读 1,756评论 0 0
  • 云锁天府,凭栏红锈,故遥知渡。薄心那管衣衫,轻滑断,自知冷暖。 移乡口试悲鹭,梦,独擎日暮。 白纱泪,对窗飞飘,愁...
    珏诗阅读 2,755评论 4 3

友情链接更多精彩内容