一、本地私有库:
$ pod lib create <库名>:创建本地模版库
通过此命令,我们可以在本地创建模版库,这就是我们要制作本地私有库的根基
图1 图2图2中会提示你创建的模版库需要哪些相关配置,看一下就知道大概意思
图3图3就是我们通过“pod lib create <库名>”命令创建出来的本地模版库,可以看出,
Example:正是我们后面用到的测试工程
YYTest:此文件下有Classes与Assets两个字文件,Classes正是存放我们抽取出来的相关类文件;Assets文件下存放图片资源等
图4Classes文件下原本存在ReplaceMe.m文件,见名知其意,先将它删除掉,再放入我们自己的写好的相关类文件
我们将一个简单的Person类(.h、.m)拖入我们的YYTest/Classes下:
图5接下来我们要利用Example工程对我们写好的Person类进行使用,并且测试其是否达到我们想要的效果
图6我们可以看到,Example是我们熟悉的工程文件,注意Podfile文件
图7注意:pod 'YYTest', :path => '../' 这行大家应该不陌生,后面的“:path”是指定路径,指向的是当前podfile文件的上级目录
我们还需要注意图3中的YYTest.podspec文件:
图8本地私有库我们不需要修改此文件,但我们来看一下“s.source_files = 'YYTest/Classes/**/*'”,它的意思正是指向我们所存放Person类文件的地址
打开我们的Example工程,在如图区域,你此时还看不到我们自己添加的Person文件
图9Development Pods正是我们本地pods库的标志,此处需要注意,不要通过点击鼠标右键“Add Files To Pods”将我们的Person类文件添加进来,那我们应该怎么添加呢?
打开终端,进入到Example文件下,执行“pod install”命令来安装我们的本地库
图10(通过podfile和YYTest.podspec文件安装我们的Person相关文件)
图11图11是我们通过“pod install”命令,将我们的自定义“Person”类集成进Example工程
到这一步,本地私有库与测试工程基本都已完成,接下来我们只需要在测试工程里使用一下我们的Person类,看一下是否和我们设想的一样即可!
二、远程私有库
通过以上步骤,本地私有库就制作好了,接下来,我们来聊聊远程私有库是如何玩的。
大家先要熟悉几个常用命令:
1.pod repo(pod repo list):查看本地管理podspec文件的仓库
图12master是github上的,里面存放的都是开源库的podspec文件(AFNetworking、SDWebImage等)
2.pod repo add <仓库名> <URL地址>
此命令是将我们远程自己创建的管理podspec文件仓库通过URL地址添加到本地
好,接下来我们进入正题,利用前面制作好的私有库,如何上传到gitlab、码云等平台,让它成为远程私有库!
1.我们先在码云平台创建一个仓库(YYSpec),用来托管我们后期制作的私有库的podspec文件
2.将YYSpec添加到我们本地(命令:pod repo add <仓库名> <URL地址>)
图13执行完成后我们可以在资源库中查看到相关文件:
图14或我们使用终端“pod repo(pod repo list)”命令查看:
图153.在码云平台上创建一个仓库(YYTest),用户托管我们之前制作好的本地私有库(YYTest)
4.根据我们制作的私有库按要求修改我们私有库YYTest.podspec文件,并进行提交远程仓库
图165.通过“pod lib lint”命令验证本地YYTest.podspec文件
图17看到passed validation,恭喜你,成功一大半了。
6.给我们私有库打上tag值,并提交远程仓库(注意:必须和.podspec文件里的“s.version”一样)
图187.通过“pod spec lint”命令,验证远程YYTest.podspec文件
图198.通过“pod repo push YYSpec YYTest.podspec”命令,将我们的YYTest.podspec文件推到远程YYSpec仓库
图20此时打开我们电脑上的“资源库”( /Users/apple/.cocoapods/repos/YYSpec ),可以看到YYTest文件夹,里面上我们刚上传的YYTest.podspec文件
图21此时你就可以在终端通过“pod search”命令搜索到你自己的私有库了!
以上并有涉及到私有库依赖其他库等情况,后面有时间会再进一步完善,仅供大家参考,写的不好,多多包涵!
网友评论