iOS开发-私有库

68 篇文章 3 订阅
61 篇文章 1 订阅

私有库可以说是现在iOS开发必备的一个技能了,接下来我会用CocoaPods来完成私有库相关操作的整个流程。

了解私有库整个流程之前,先来了解一些前导知识。

一些概念

Repo

repository的缩写,翻译为资料库,也叫它资源库。通过命令pod repo list可以查看本地的资源库。如下:

当我们使用pod search [PODNAME]时,就会在本地的资料库进行库的搜索。有一点需要注意的就是,如果你本地的库的版本较老,这个时候,你搜索到的版本也会比较老,可以使用pod repo update [NAME]更新下资料库或者更新下需要的库,再来进行pod install操作

Podspec

spec文件,为固定格式的索引文件,规范描述了Pod库的版本。 它包括了应从何处获取源,使用哪些文件,要应用的构建设置以及其他常规元数据(例如其名称,版本和说明)的详细信息。

工作原理图

这里先不考虑pod命令到底做了什么事,从宏观上来说:当我们在项目中使用 pod install 时,pod工具会遍历本地的资源库,找到podfile文件中用的库,根据spec文件中的描述信息来拉取远程仓库代码。

步骤

1. 配置索引库

创建自己的私有索引库。码云、github、gitlab都可,这里以码云为例:

添加私有资源库,并关联到自己的私有库。检查安装是否成功,是否准备就绪

出现All the specs passed validation表示成功。

2. 配置自己的私有库

这里使用pod官方的API来创建,其他方式不再赘述。可以参考github上优秀三方库,down下来看看目录结构就明白了。

在终端输入pod lib create [NAME],根据提示填写相关配置信息

这里根据提示在终端输入就可以,建议包含demo application,方便调试。这里执行完毕后,会使用Xcode打开项目。我们来看项目目录

我们修改私有库里面的代码。这里把MJ老师的框架MJRefresh拉进去,修改下spec文件,保存,执行pod install,完美运行。因为MJRefresh内部有资源文件,所以这里要在spec文件中加入 s.resource = 'HDUIKit/MJRefresh.bundle',如图:

接下来,在码云中创建一个空的仓库,和本地的私有库关联。提交代码。这里不在赘述了,基本操作。

3. 处理spec文件,打tag

私有库代码处理完以后,开始修改spec文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DnWbfKWt-1616051457532)(https://upload-images.jianshu.io/upload_images/25331915-4958a57b21dbe8bb.image?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

这个文件的配置除了参考官方文档以外,还可以参考第三方的一些spec文件。

修改完spec后,提交代码,然后打tag,提交完tag以后,进入含有spec文件的文件夹,使用pod spec lint检查配置成功与否。

好了,剩下最重要的一步,把私有库的索引文件spec推送到远程私有索引库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nl5B8oCl-1616051457534)(https://upload-images.jianshu.io/upload_images/25331915-803253b51eda12cb.image?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

到这里整个私有库的构造就结束了。

测试、使用

在终端里可以通过命令搜索我们的库

pod search HDUIKit --simple

新建一个项目,在podfile文件中指定source,就可以使用我们的私有库了 !

参考链接

私有库介绍

Pod相关命令参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值