iOS组件化3 之 更新远程私有库

一、更新远程仓库
二、修改描述文件并更新索引库
三、更新使用
四、第三方依赖
五、子库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有两个文件夹CategoryCache;只有Cache需要依赖AFNetworking,如果某个项目只需要Category此时pod 整个LGBase,平白无故多了一个无用的文件夹还有依赖库;

解决方案

使用子库Subspecs

五、子库

1、子库格式
s.subspec '子库名称' do |别名|
end
因为这里要分离出子库了,所以s.source_filess.dependency就不能这么使用了,需要我们在子库里分别指定,所以我们直接把原来的s.source_filess.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

参考:https://juejin.im/post/5ac5daf451882555627d8491

你可能感兴趣的:(iOS组件化3 之 更新远程私有库)