操作CocoaPods库
文章图片
前两篇博文介绍了如何搭建第三方库和远端私有库,今天在此记录下对这些库的一些操作注意事项。
一、升级CocoaPods库
升级之前先查看下当前私有库的版本号。
$ pod search QYBaseComponent
文章图片
当前版本为 0.2.0 (1). 修改库的源码. 此处只是演示使用,我就添加一个
Macro
文件吧。文章图片
在源码对应路径下放入新增的文件
(2). 修改 .podspec文件.
// 加大版本号
s.version ='0.3.0'
(3). 上传源码,并打上tag.(
tag
必须和 s.version
对应)
执行 git add .
, git commit -m '...'
等等指令提交代码;执行
git tag 0.3.0
, git push --tags
打上tag;文章图片
远程私有库的tag
(4). 本地校验 .podsepc文件.
$ pod lib lint
文章图片
(5). 远程校验 .podsepc文件.
$ pod spec lint
文章图片
(6). 上传 .podSpec文件到远端私有库.
// QYSpec :远程索引仓库库的名称
// QYBaseComponent.podspec : 我们的.podSpec文件
$ pod repo push QYSpec QYBaseComponent.podspec
文章图片
上传成功 到此我们的远端私有库就更新成功了!(更新第三方库和这个如出一辙,此处不再累赘。)
二、为CocoaPods库添加子模块
升级完CocoaPods库之后,虽然我们在源码中创建了文件夹进行分类,但是在安装完私有库之后,所有的文件都跑到一个文件夹里了,非常乱。
文章图片
再来看下AFNetworking的库,井然有序。
文章图片
AFNetworking
文章图片
AFNetworking 下面将实现类似AFNetworking这种效果:
(1). 编辑 .podsepc文件. 【操作CocoaPods库】添加
Category
、 Macro
子模块:# ss:可以为任意字母
s.subspec 'Category' do |ss|
# 资源路径
ss.source_files = 'QYBaseComponent/Classes/Category/**/*'
# 如果该子模块中需要依赖'AFNetworking'库,其他模块不需要,可以把依赖添加在子模块内,
# 这样在不使用到该模块情况下,'AFNetworking'库不会被安装,可以节省项目空间
ss.dependency 'AFNetworking'
end
s.subspec 'Macro' do |ss|
ss.source_files = 'QYBaseComponent/Classes/Macro/**/*'
end
// 加大版本号
s.version ='0.4.0'
(2). 后面的步骤就和升级CocoaPods库一样了,不再阐述。 验证一下:
$ pod search QYBaseComponent
文章图片
子模块已经添加成功
修改
Podfile
文件,先引入 没有
AFNetworking
库 的子模块,更新pod
source "https://github.com/CocoaPods/Specs.git"
source "https://git.coding.net/Joeyoung_/QYSpec.git"
platform :ios, '8.0'target 'Demo' do
use_frameworks!pod 'QYTimer'
pod 'QYBaseComponent/Macro' end
文章图片
文件夹出来了,而且此时并没有安装 `AFNetworking`库,节省了项目空间 再次添加依赖了
AFNetworking
库的子模块,更新podsource "https://github.com/CocoaPods/Specs.git"
source "https://git.coding.net/Joeyoung_/QYSpec.git"
platform :ios, '8.0'target 'Demo' do
use_frameworks!pod 'QYTimer'
pod 'QYBaseComponent/Macro'
pod 'QYBaseComponent/Category' end
文章图片
AFNetworking添加到了项目中
到此该功能演示完毕。
三、给CocoaPods库添加资源文件
请参考这里:给 Pod 添加资源文件
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 太平之莲
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- 在线版的迅捷思维导图怎么操作()
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 我正在参加安特思库共读一本书干法。
- 操作系统|[译]从内部了解现代浏览器(1)
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- 现役联盟前十怎么排(詹姆斯榜首无悬念!杜兰特库里位置不确定!)