远程私有库

2019-08-12  本文已影响0人  0200a9609930

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

1. 先创建自己的索引库

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

pod repo

进入本地pod库查看

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

pod repo remove YYSwiftProjectSepcs

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


添加自己的索引库

去本地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两个分类,有时我们会只用到其中的一个.但是按照之前的方法我们会把所有的文件都下载,即使你不是用.这个时候你要划分小模块了.

上一篇 下一篇

猜你喜欢

热点阅读