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 远程索引库地址

这时候再查看
image.png

发现已经存在本地了 ,想要查看的文件存放地址的话 可打开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.png

6.上传代码

版本要记住,之后有用,地址要写远程代码库的地址。
好了之后 我们开始把代码推到远程库

  • 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之后大功告成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,273评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,349评论 3 398
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,709评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,520评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,515评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,158评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,755评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,660评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,203评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,287评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,427评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,122评论 5 349
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,801评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,272评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,393评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,808评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,440评论 2 359

推荐阅读更多精彩内容