美文网首页
iOS组件化3 之 更新远程私有库

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

作者: csii993 | 来源:发表于2019-04-30 16:25 被阅读0次
    一、更新远程仓库
    二、修改描述文件并更新索引库
    三、更新使用
    四、第三方依赖
    五、子库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 之 更新远程私有库

          本文链接:https://www.haomeiwen.com/subject/apjvnqtx.html