您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页操作CocoaPods库

操作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.0git 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文件.

添加CategoryMacro 子模块:

# 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 
source 
platform :ios, '8.0'

target 'Demo' do
  use_frameworks!

  pod 'QYTimer'
  pod 'QYBaseComponent/Macro' 

end
文件夹出来了,而且此时并没有安装 `AFNetworking`库,节省了项目空间

再次添加依赖了AFNetworking库的子模块,更新pod

source 
source 
platform :ios, '8.0'

target 'Demo' do
  use_frameworks!

  pod 'QYTimer'
  pod 'QYBaseComponent/Macro' 
  pod 'QYBaseComponent/Category' 

end
AFNetworking添加到了项目中

到此该功能演示完毕。

三、给CocoaPods库添加资源文件

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务