IOS工程组件化
前言
作为一位与时俱进的技术开发 ios工程组件化当然能显得具有逼格啦,接下来为大家介绍一下从零到一组件化的过程,让我们来看看吧。
首先为大家准备以下材料:
1.需要拆解的工程Demo,下载链接如下:模板工程链接
2.本地仓库代码(用来创建组件的工程)
3.远程仓库代码(用来存放组件工程的远程代码库)
4.本地索引库(存放本地索引文件的库)
5.远程索引库(存放这些索引文件的远程库)
下来给大家看下工程结构目录
image.png我们需要把以上的category当成一个组件封装起来,然后让我们的主工程去pod接受,好了 ,下面开始正式动手了。
1.创建远程索引库
打开github创建一个库,取名名“JSpecs”,获取库的下载链接,备用。
image.png image.png
2.创建本地索引库
打开终端,输入以下命令行
image.png
首先pod repo 查看本地存在多少个索引库
再然后新建本地索引库“JSpec” 关联到之前创建的远超索引库
“pod repo add JSpec 远程索引库地址
发现已经存在本地了 ,想要查看的文件存放地址的话 可打开finder,在用户的目录下
image.png
3.创建远程代码库
依然是利用github创建一个名为“JCategoryKit”的远程代码仓库,获取链接地址
image.png
image.png
4.创建本地组件代码库
这里我们用命令来创建
image.png
创建好之后会自动帮我们打开创建的项目工程,我们编译运行下 发现没任何问题
5.移动项目
接下来开始封装组件代码了。回忆一下,我们之前的目的是什么,我们是想把分解工程的“category”文件封装成一个组件
image.png
好,接下来动手。
我们先找到这个文件夹,然后把它拖到我们刚才创建的“JCategoryKit”工程下,并放到入下图所在的目录下。
image.png
在接下来,cd到这个目录下 pod install
image.png image.png
编译没问题之后呢,我们修改一下工程的podspec文件
image.png6.上传代码
版本要记住,之后有用,地址要写远程代码库的地址。
好了之后 我们开始把代码推到远程库
- git add .
- git commit -m “xxx"
- git remote add origin 远程代码仓库地址
- git push origin master
- git tag 版本号 (注:这里的版本号必须和podspec里写的版本号一致,也就是1.0.0)
- git push --tags
7.校验本地索引文件
cd 到项目目录下,
image.png
然后开始校验
pod lib lint JCategoryKit.podspec --verbose --allow-warnings
image.png
校验成功。。。。。。。。
8.将本地索引提交到远程索引库
pod repo push <本地索引库> <索引文件名> --verbose --allow-warnings
image.png
成功之后你将看到
image.png
快要接近成功了,让我们来试着在分解工程中调用这个组件库吧
9.引用组件库
打开工程“TemPlateAPP”,修改Pod文件之前,让我们先查看本地索引库的路径
image.png
修改pod文件
修改前 修改后
pod install 安装
image.png安装完成之后,打开项目 你会发现组件库被集成进去了
image.png------------大功告成-------------------
额外补充
如果还想继续进行封装组件,只需要重新创建本地库和远程库,无需创建本地索引和远程索引。
如果想封装的组件包依赖了某个第三方库的时候,比如封装APIKit的时候,这时候已经依赖了“AFNetwork“的时候,这时候,需要在podspec文件中加入依赖描述
image.png
还是按照上述的操作,pod之后大功告成