iOS组件化创建子模块

129 阅读2分钟

搞了iOS多年,前期比较菜,中间几年因为工作不能用外网,所以一直没有做一些技术总结。最近换了工作,项目也过了最初的忙碌期,就从现在手上的项目开始做一个记录吧。

组件化这种东西对很多人是只听过没用过,小公司也不会用,所以看起来比较神秘,在我看来其实就和我们引用一个个第三方库一样,把一些模块以源码或者framework的形式上传到自己的远程仓库中,按需进行pod组装,再设计一套组件通信方式就是最简单的组件化了。有私有仓库的同学们可以自己尝试一下。

直接上干货,怎么新建子组件吧。 以test工程举例,在里面新建一个mine模块。

cd /xxx/.../test 先cd到主工程目录

pod lib create MineModule 子模块起名

这里会弹出选择语言等一系列询问,按照自己需求去勾选即可。完成之后,就可以在test的一级目录下看到MineModule文件了。

下一步就是和主工程做关联。工程访问子组件一般是本地私有库和远端私有库。开发阶段通常是本地。

1.子模块创建私有的Specs Repo,创建远端仓库并clone到本地,然后进行关联。

2.对私有库的Podspec文件进行配置。具体的这里按需求进行。

3.子模块的Podspec关联到主工程。

1)pod spec lint --allow-warnings验证

2)pod repo push test_Spec MineModule.podspec --allow-warnings

3)主工程podfile文件添加子组件路径,可以是远程仓库,可以是本地路径(本地组件化,开发阶 段)。这里就和正常引用第三方没什么区别了。

到这里主工程Development Pods文件夹下就有了我们的mine子模块,这里代码(本地组件化阶段)可以直接修改,至此子组件和主工程就关联成功了,是不是非常简单。

后续有时间补上图。