iOS 组件化实施过程

一、组件化的优缺点

![在这里插入图片描述]( https://img-blog.csdnimg.cn/a61b8b17a87d4a1db3622b547d2ac6e8.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

二、组件化的拆分

![在这里插入图片描述]( https://img-blog.csdnimg.cn/6d2f541dbd404c63b5d27f1a06043141.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

三、组件与组件之间如何进行通讯(路由)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/1013650b223644d2a8c85f9468f6c409.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

四、从Cocopods拉取代码的过程

![在这里插入图片描述]( https://img-blog.csdnimg.cn/6e9e8f6ac5ff4432b975be6abb16f251.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

远程索引库里很多的.spec文件,该文件记录了很多内容,如用户名,框架名称,描述,框架的地址

Podfile 文件是拉取框架源码的配置文件, pod install 命令会根据Podfile中配置来拉取框架源码

Pod setup 命令会把远程索引库拷贝到本地,在本地还有一个检索文件

执行pod search命令过程,并不是直接从远程索引库查找,它是从本地的检索文件,该检索文件是以键值对的形式存在。在本地索引库中会找到对应的.spec文件 , .spec文件中有框架源码的地址,直接从这个地址来下载了。

Pod repo 命令可以查看本地的索引库列表

五、创建本地私有库

在这里插入图片描述

Pod lib create 命令是创建lib库的模板

![在这里插入图片描述]( https://img-blog.csdnimg.cn/4ac5308a2ea34bf393a6f1a13ffb89a4.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

更正:创建demo的位置,应该选择YES

创建成功后的目录结构如下:
![在这里插入图片描述]( https://img-blog.csdnimg.cn/bec7680d89ac4123853d75a0a2cd8d1c.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

接下来,我们可以把拆分的代码放到如下这个目录下:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/6f7d15ac421f46829552007ca3269dac.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)
放入代码后的目录结构如下:
![在这里插入图片描述]( https://img-blog.csdnimg.cn/4255672bfba14084a4f34b1b40b68273.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

Xcode中的工程并不会显示新加入的文件,如下图所示:
![在这里插入图片描述]( https://img-blog.csdnimg.cn/e10a9ac9df364a10a440529419d49b1a.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

我们只需要在命令行工具中 cd 到Pods 工程所在的文件夹,执行pod install 命令即可

在这里插入图片描述

命令执行完成后,我们添加到目录中的代码文件已经被加入到工程中,此时目录结构如下:
![在这里插入图片描述]( https://img-blog.csdnimg.cn/39359841212d436db73d700cddd8b2ea.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

如果工程中的代码依赖了别的第三方库,我们还需要在.podspec文件中加入框架依赖

![在这里插入图片描述]( https://img-blog.csdnimg.cn/6e47d9ef6c6f4b8ebd1f710f71ade79f.jpg?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

配置好.podspec 库后,回到Example目录, 在此目录下执行 pod install 来安装工程依赖的三方框架

在其他工程中使用本地私有库时,要注意本地私有库引入的位置
![在这里插入图片描述]( https://img-blog.csdnimg.cn/bc90cc76f720492d81f2e672cbc39b2f.png?x-oss-process=image/watermark ,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmV5Wmhhbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)

  • 六、本地私有库上传到远程私有库
  • 七、私有库的podSpec配置
  • 八、创建远程索引库
  • 九、将远程索引库关联到本地
  • 十、将RZTools.podSpec提交到这个索引库

如上更多详细内容点击此处查阅 《iOS 组件化实施过程》

posted @ 2022-09-14 15:01  reyzhang  阅读(377)  评论(0)    收藏  举报