0%

CocoaPods从私有库到公有库一站式教程

CocoaPods

CocoaPods是一个非常好用的第三个依赖库的管理工具,基本每一个iOS Coder都会使用它的吧.除了管理依赖库,它还有更加强大的一个功能,那就是创建podspec,链接私有库或者发布公有库.

创建私有Spec Repo

这个就在码云的平台上示例吧

1.在码云平台上创建私有库,用来存放.podspec描述文件

创建私有库

2.将远程私有库链接到本地

复制你码云上的私有库https地址,执行下面语句来链接远程私有库

1
pod repo add MySpec https://私有库https地址

去~/.cocoapods/repos目录下查看是否有MySpec文件夹,如果有则这一步执行成功.(Command+shift+.可显示隐藏隐藏文件夹)

MySpec文件夹

其中master是CocoaPods公有库,而MySpec则是你自己的私有库

执行pod repo也可查看是否已经链接上了远程私有库

创建私有库

1.创建Lib Code

cd到你存放私有库的目录,然后执行pod lib create xxxxx,会出现下面选项让你选择(xxxxx为你的库名称,最好取名加上前缀,注意先搜索一下CocoaPods中是否有该名称,需要与CocoaPods中已有库的名称不同,不然后面上传公有库的时候会有问题)

可以按照我的截图来填写,如果不同的话则选择另外选项

2.替换文件

填完信息之后,会创建一个库工程,并会用xcode自动打开该工程.

打开工程目录,找到下面截图的ReplaceMe.m文件,把这个文件替换成你的代码文件.

如果有图片资源,则把图片等资源文件拷贝到Assets中,将来引用这个库的时候,Assets中的图片文件会一并引用.

打开终端,cd到.podspec文件目录,执行pod install,则在工程中已引入你刚才的代码文件(这里会出现一个问题,就是图片可能没有引入,则需要手动把图片拖入工程/Development Pods/xxxxx(你的库名称)/Resources中)

3.github代码托管以及编辑podspec

在github上新建repository

如图,如果你想建的是私有库,不被别人看到的,则选择Private选项,我这边选择Public,后面要上传至CocoaPods公有库.你这边的名字与上面的库名称相同.当然,你也可以在码云或者其他平台上实现代码托管,原理是相同的.创建好了记录下git地址

在xcode编辑器内找到podspec文件

初始情况下修改summary,description,homepage,source,resource_bundles,注释已经写在在截图中,看个人情况修改.
完成之后,进行远程仓库代码托管.依次执行以下命令

初始化git: git init

与远程库关联: git remote add origin https://xxxxxx

添加所有文件: git add .

填写修改或新增的内容: git commit -m "修改或新增的内容"

上传: git push -u origin master

标记tag(与podspec中的tag相同): git tag '0.1.0'

将tag提交到远程: git push --tags

刷新github项目地址看上传是否成功

4.podspec验证上传

本地验证podspec:pod lib lint --allow-warnings

xxxxxx passed validation 说明验证通过

同理远端验证podspec:pod lib lint --allow-warnings

如果出现Error,则需要一个一个去解决

上传到私有库:pod repo push MySpec xxxxxx.podspec

此时还会再验证一次,验证通过则上传成功,在~/.cocoapods/repos/MySpec可以看到你上传的库,同时在远端,也就是码云上面,也可以看到你上传的库

5.验证私有库导入

如何验证我们的库是否可用呢?执行以下操作:

  • 新建一个iOS测试工程

  • 创建podfile文件

  • 执行pod repo 查看源,复制私有库的源

  • 在podfile文件中添加私有库源: source ‘https://私有库源’

  • 在podfile文件中导入私有库 pod ‘私有库名称’

  • 在终端中cd 到podfile所在文件,执行pod install操作

  • 打开’工程.xcworkspace’,在Pod中可看到私有库的代码

如果只想创建私有库使用的到这边就已经结束了,创建公有库的朋友再耐心点继续看下去.

上传公有库到cocoapods

注册cocoapods: pod trunk register 邮箱 '用户名' --verbose

去邮箱查看cocoapods发给你的邮件,打开链接

检验注册结果: pod trunk me

上传库: pod trunk push xxxxx.podspec

更新本地库: pod update

搜索你的库: pod search xxxxx,如果找不到,先执行下面一步

在测试工程podfile中,pod xxxx导入库,再把私有库源从podfile中删掉,再执行 pod install,如果能成功导入,则说明上传成功了.