美文网首页
远程私有库

远程私有库

作者: 0200a9609930 | 来源:发表于2019-08-12 17:27 被阅读0次

    由于博客地址无效, 故把之前的博文转来简书
    转自2017-02-26

    1. 先创建自己的索引库

    先在终端输入下面的命令, 查看当前电脑本地的pod和远程的pod

    pod repo
    

    进入本地pod库查看

    YYSwiftProjectSpecs是之前创建的一个索引库,现在先把这个删除.
    进入本地pod库,repos文件夹

    pod repo remove YYSwiftProjectSepcs
    

    删除后,再一次查看pod库,发现就一个master了


    添加自己的索引库

    • 先去托管平台,创建一个项目.这里我选择的是coding,免费的. 项目名是 YYProjectSpecs,创建个空项目.

    • 添加新的pod spec文件

      pod repo add YYProjectSpecs(pod名称) xxx(git地址)
      

    去本地pod索引库中查看多了一个索引库


    自己的索引库就添加成功了,然后去创建一个基础库,存放一些基础组件,我这里就放一个分类.

    2. 创建组件仓库, 可以创建多个, 然后添加到自己的索引库中

    1. 去coding上创建一个空仓库

    2. 快速生成一个pod模版

      pod lib create YYCategory
      
    3. 把远程空仓库和当前YYCategory的git关联起来

      • 先进入pod模版文件夹
      • git add .
      • git commit -m ‘’
      • git push (没有远程,怎么push啊,)
      • 按照提示的跟远程git关联起来
      • git remote add origin xxx(远程git地址)
      • git push origin master
      • 完成后去coding查看,代码都推送到远程了,说明成功了
    4. 按照之前本地库的使用,把代码放在Classes里, 这里添加了一个category, Protocol

    5. 更改spec, s.source需要把你远程仓库的git添加上来, 其他的根据你自己的需求

      s.source = { :git => 'https://git.coding.net/yangyu2010/YYCategory.git', :tag => s.version.to_s }
      
    6. 更新Demo的pod, 测试你的代码

    7. 没有问题,就把本地刚更改的提交到远程git上

    8. 给git打tag标签

      • 提交代码后, 可以先验证下spec文件.

        pod lib lint (本地)
        
        pod spec lint (远程)
        
        --allow-warnings (加在后面可以忽略警告)
        
      • 远程验证的时候报错,branch 0.1.0, 没有tag, 找不到对应的版本号,因为我们在spec里填写的s.source, 其中tag值对应的是当前版本号.

          s.source = { :git => 'https://github.com/yangyu2010@aliyun.com/YYCategory.git', :tag => s.version.to_s }
        
      • 打完tag后,再次验证,就没问题了


    3. 把当前spec提交到自己创建的索引库中

    目前为止,搭建就差不多了.剩下的就是先把当前spec提交到我们自己创建的索引库YYProjectSpecs里,然后在Example里测试.

    1. 把当前spec提交到自己的索引库里

      1. pod repo
      2. pod repo push YYProjectSpecs YYCategory.podspec
      pod repo push (自己创建的索引库名字) (当前spec文件)

    没有提交成功,按照提示的更改spec文件.因为更改过代码,所有你得更新版本,重新打tag.然后提交到远程. 按照前面的7-8步重新提交,打tag.


    重新push成功后,如图.去本地spec文件夹中查看.当前的spec文件就在其中了.

    4. Example中做测试

    来到pod模版自动生成的项目中, 打开Podfile, 如下.当前path指向是本地路径

    更改pod,然后 pod install就可以使用了


    subspec

    框架中有个Category, Protocol两个分类,有时我们会只用到其中的一个.但是按照之前的方法我们会把所有的文件都下载,即使你不是用.这个时候你要划分小模块了.

    • 先看下AFN是怎么划分的

      pod search afn
      
    • 修改spec文件

      #s.source_files = 'YYCategory/Classes/**/*'
      s.subspec 'Category' do |cc|
        cc.source_files = 'YYCategory/Classes/Category/**/*'
      end
      s.subspec 'Protocol' do |pp|
        pp.source_files = 'YYCategory/Classes/Protocol/**/*'
      end  
      

      先把source_files注释,然后根据你的分类,指定当前分类的路径和其他属性

    • 然后,提交代码,打tag,然后验证spec文件,最后把新版本提交到本地的索引库中.

    • 修改Podfile, 然后install后就可以正常使用了.

    相关文章

      网友评论

          本文标题:远程私有库

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