一、更新远程仓库
二、修改描述文件并更新索引库
三、更新使用
四、第三方依赖
五、子库Subspecs
一、更新远程仓库
1、修改组件类文件
将修改完的文件重新添加到Classes
文件夹下
2、push代码更新
进到本地仓库的位置,执行如下操作:
git add .
git commit -m '更新描述'
git push origin master
3、版本更新
版本更新着这一步非常重要,为更新索引库做准备
git tag -a '新版本号' -m '注释'
git push --tags
二、修改描述文件并更新索引库
1、修改Sepc
打开你的xx.podspec文件,将原本的版本号改为0.2.0,与刚刚的tag保持一致
s.version = '0.2.0'
2、验证远程Spec
pod spec lint --private
3、更新索引库
pod repo push 索引库名称 xxx.podspec
三、更新使用
// --no-repo-update 不更新本地索引库
// 因为刚刚已经自己手动更新过了,所以这里我们选择跳过更新
pod update --no-repo-update
四、第三方依赖
在xx.podspec文件进行修改,例如依赖AFNetworking
s.dependency 'AFNetworking', '~> 3.2.0'
问题
组件库LGBase
有两个文件夹Category
和 Cache
;只有Cache
需要依赖AFNetworking
,如果某个项目只需要Category
此时pod 整个LGBase
,平白无故多了一个无用的文件夹还有依赖库;
解决方案
使用子库Subspecs
五、子库
1、子库格式
s.subspec '子库名称' do |别名|
end
因为这里要分离出子库了,所以s.source_files
和s.dependency
就不能这么使用了,需要我们在子库里分别指定,所以我们直接把原来的s.source_files
和s.dependency
都注释掉。写法参考如下
# s.source_files = 'LXFBase/Classes/**/*'
# s.dependency 'SDWebImage', '~> 4.3.3'
s.subspec 'Cache' do |c|
c.source_files = 'LXFBase/Classes/Cache/**/*'
c.dependency 'SDWebImage', '~> 4.3.3'
end
s.subspec 'Category' do |c|
c.source_files = 'LXFBase/Classes/Category/**/*'
end
s.subspec 'Tool' do |t|
t.source_files = 'LXFBase/Classes/Tool/**/*'
end
修改后再按之前的步骤更新索引库和组件库就可以了
1、子库使用
修改podfile文件
pod 'LGBase/Cache'
安装
pod install
网友评论