组件化之私有库制作

公司的新项目多的不可思议,急需组件化支持我们模块组装生成新的App,记录一下私有库的制作方法,如有错误还请大家帮助指出

1,先创建一个远程的spec索引仓库

我的索引仓库名为mylib4RepoSpec,github上的创建过程略,然后clone到本地,添加你编辑好的spec文件,后续会讲到这个文件


image.png

这这个仓库主要是存放我们日后要维护的所有组件的索引文件.spec

2,创建一个组件代码仓库

  • 2.1 远程代码仓库


    image.png
  • 2.2 克隆到本地
git clone https://github.com/tianyang828/mylib4.git

在仓库路径下,生成.podspec文件,使用命令:

pod spec create mylib4.spec
  • 2.3 编辑podspec文件,填写私有库相关信息,顾名思义,不细说


    image.png
  • 2.4 然后添加你的组件代码,放在Classes文件夹下,demo下存放的是你的示例工程,可选择是否添加


    image.png
  • 2.5 把本地组件代码推到远端,并打个标签

git add .
git git commit -m '第一次提交'
git pull
git push
//注意tag和podspec文件里的s.version一样
git tag "0.0.1"
git push —tags
  • 2.6 验证上一步编辑的 .podspec文件是否有错,出错的话根据提示自行修改,在podspec文件所在目录下执行命令:
    注:
    (1) - -verbose:表示显示全部的日志信息,建议加上这个,方便判断错误信息;
    (2) - -sources:如果我们在podspec里面依赖到一些私有的库之后,直接进行校验是会报错的提示找不到,这里可以加上Spec仓库的地址告诉CocoaPods找不到的时候去哪里找;
    (3) - -allow-warnings:表示允许警告;
    (4) - -use-libraries:表示使用静态库或者是framework,这里主要是解决当我们依赖一些framework库后校验提示找不到库的时候用到。
pod lib lint --allow-warnings
  • 2.7创建私有的索引库Spec Repo:
    pod repo add “自定义名” “spec索引仓库地址” (文章开始创建的索引库地址)
    这一步做的其实是创建的工作,也就是在 ~/.cocoapods/repo 目录下添加了一个以你的私有 repo 为名的文件夹,但是并没有添加 spec 文件。
    pod repo push xxxx.podspec
    这个命令执行之后,本地和远端的~/.cocoapods/repo都会发生变化,.pec已经添加进去
pod repo add mylib4 https://github.com/tianyang828/mylib4RepoSpec.git 
pod repo push mylib4 mylib4.podspec --allow-warnings 

打开本地cocopods仓库,查看本地repo库(会包含mylib4库):

open ~/.cocoapods/repos/
image.png

查询本地是否有对应的项目库

pod search mylib4

查看本地pod索引库

pod repo

3 在项目中使用,编辑podfile

image.png

4 更新维护,重新提交代码,修改spec文件描述并提交

1.重新提交代码:
git add .
git commit -m ‘更新了***’
git push origin master

2.打tag,同时改spec描述文件:
git tag 0.0.2
git push –tags

3.更新spec文件到索引库
pod repo add mylib4 https://github.com/tianyang828/mylib4RepoSpec.git
pod repo push mylib4 mylib4.podspec --allow-warnings

  • 其他问题及扩展:
    1.也有使用如下命令的方式创建项目的
pod lib create mylib5

2.pod repo push 失败可能原因,github的主分支由master变成了main,pod在推送到远端索引时可能出错,所以可以在创建远端仓库的时候,把主分支名字改为master


image.png
image.png

创建带示例工程的spec 文件夹 pod lib create HTCourseDownloadLib
刷新本地索引 pod repo update /Users/XXXX/.cocoapods/repos/huatuop-open-ios1-htpodspecs
git remote add origin git@gitlab.XXXX.com:open-ios1/HTCourseDownloadLib.git
git push origin master

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

推荐阅读更多精彩内容