iOS 组件化搭建私有库(二)

1.搭建私有库之前必须要先创建索引库

1)首先检查当前电脑的索引库

pod repo

2)在gitlab上创建一个新的库,这个库用来保存私有库的podspec文件,所以我们一般起名字最好是 xxxSpec用以区分这个库的作用。

3) 创建本地索引库,然后将其于刚才创建的远程索引库相关联,注意!!!此时的远程索引库是空的!空的!空的!但是必须得有master分支,所以你可以添加一个readme文件。

pod repo add XXXSpec 刚才创建的远程索引库的gitlab的地址

2.开始创建本地私有库

1)创建本地私有库(注意!这个库是存代码的,不要和刚才的索引库混淆了!!!

pod lib create 私有库名称

ps:我一般是将私有库创建在桌面上,也就是Desktop文件夹下面

2)然后会显示这些文件让你进行配置,按照下边的图填写就行

3)配置完成后会自动打开一个xcode工程,层级如下图

4)将Classes文件夹下面的ReplaceMe.m文件删除掉,替换成你要上传私有库的代码

扫描二维码关注公众号,回复: 17273519 查看本文章

5) 然后在更新一下这个工程的pod库

pod install

6)然后编写podspec文件里面的内容如下图

这个文件如何填写,不再过多描述,最笨的方法,随便找一个公共库看看人家咋写,照葫芦画瓢就行了。

ps:这里要注意两点!!

<1> s.homepage需要设置刚创建的私有代码仓库的地址, 不是私有索引库的地址!!!

<2> s.source 需要设置的是私有代码仓库的源地址(选择使用HTTPS地址)!!!

3.将私有库push到远程仓库

1)在gitlab上创建远程私有库。注意!!!这个库是存远程私有库代码的,不要跟远程索引库混淆啦!!!

2)将本地私有库推送到远程私有库

git status -- 查看当前git存了什么文件
git add . -- 将所有文件缓存到待提交文件区域
git commit -m "上传工程" -- 提交文件,写上备注
git remote add origin 远程仓库地址 -- 添加要推送的远程仓库地址
git push -u origin master -- 将代码推送到远程仓库的master分支

4.进行本地校验

1)将推送上去的文件,在本地进行校验一下,注意!!! 这里坑就来啦!!!

一定要看你的私有库是否又依赖了其他的私有库,我最开始依赖了其他的私有库,所以在这个阶段怎么也验证不过去

2)最开始的验证命令是这样的

pod lib lint --allow-warnings

3)因为我依赖了其他的第三方库,所以我必须要将其他第三方库的索引库地址也得写上,就变成了这个样子

pod lib lint --sources="cocoapods库地址,私有库远程地址" --allow-warnings

4)但是这个第三方私有库又依赖了其他的库,所以还要对这个命令进行加工,之后变成了这个样子

pod lib lint --sources="cocoapods库地址,私有库远程地址" --use-libraries --allow-warnings

时间有一点长,得慢慢等

5.打Tag

1)验证通过之后,别忘了添加tag,这里添加的tag要跟刚才在spec文件里面写的版本号要一致,要一致,要一致!!!

git tag 版本号(要跟spec文件里面写的版本号一致)
git push --tags

6.远程校验

1)tag打上去之后,进行远程校验,其实和本地校验一样,本地如何校验通过的,远程只需要把lib字段改成spec就可以了,例如我的

pod spec lint --sources="cocoapods库地址,私有库远程地址" --use-libraries --allow-warnings

例如我的:
pod spec lint --sources="https://github.com/CocoaPods/Specs.git,[email protected]:wyze-app/wyzespec.git" --use-libraries --allow-warnings

这里也得等半天

7.将spec文件推送到最开始创建的索引库

1)所有验证通过之后,要将spec文件推送到最开始创建的远程索引库当中

pod repo push xxxSpec(本地索引库的名称)xxx.podspec

例如我的:
(如果你的私有库依赖了其他的私有库,需要添加--use-libraries)
pod repo push JAKSpec JASmartKit_iOS.podspec --allow-warnings --use-libraries --verbose

2)最后推送上去之后,在本地的索引库中的样子如下图

3)这个时候验证一下你的私有库

pod repo update -- 先更新一下pod库,不然找不到你刚上传的私有库
pod search 私有库

猜你喜欢

转载自blog.csdn.net/ios_xumin/article/details/118361022