Cocopods远程仓库如何创建?

  • 前言
    • 为什么要创建cocopods远程私有仓库,在团队开发过程中,我们会用到许多公用的组件,比如多个工程会同时引用一段代码。之前我们的解决方案是,打静态包,制作framework来满足我的需求,但是都太不方便了。把公用库交给cocoapods来管理,可以方便的解决这种弊端。伙伴们只要简单几句命令行就可以完成库的安装和更新,操作运用方便,乃团队协作利器。操作过程中如果遇到命令不明的情况,建议多去官网搜索,里面提供的内容都是最全最准的。Command-line Reference
  • 一. 准备工作
    • spec 是个索引库,对应存放源码的地址,可以分为本地的 spec,远程的的spec索引文件,cocopod通过来管理spec索引文件来down spec索引文件对应的源代码地址,然后通过pod install 达到项目的需求,今天主要是创建远程的spec索引文件:
      1.首先我们要创建一个git远程仓库,来存放我们的spec索引文件文件,目前托管项目比较好的地址有:
 https://github.com/(github建立私有的远程仓库需要6$/月)
 https://coding.net
  • 我这里在github创建了个远程仓库,来存放我们自己的spec索引文件,对应的地址为:https://github.com/defuliu/TestSpec20170718
    • 这里需要注意有二点,这在后面都会使用到
      • 我们的索引文件名为TestSpec20170718
      • 索引文件对应的路径为:https://github.com/defuliu/TestSpec20170718
  • 接下来创建对应的远程仓库的spec索引文件,命令如下
  pod repo add TestSpec20170718 https://github.com/defuliu/TestSpec20170718(这里在打开终端的开始执行)

这里spec文件名,以及git仓库的地址一定要和你所建的要一致,要不pod lib lint校验通不过。这样我们本地spec索引文件就与远程仓库对应一致了。接下来我们可以通过二种方式来查看我们本地的spec文件

  open ~/.cocoapods/repos/ZYSpecs(第一种)
  前往/个人/用户/xxx/.cocoapods/repo(第二种通过路径查看)
  • 二. 创建本地模版类,用于自身测试,检验.spec索引文件,
    • 命令如下
 pod lib create TestSoundBase2 (TestSoundBase2可以任意取,最好取有意义的名字),
    • Cocopods远程仓库如何创建?_第1张图片
      来自天堂的风.png
  • 我们进去查看可以看到TestBase.podspec这个文件,这是我们本地的索引文件,然后要在TestBase.podspec文件里面做些配置如验证

    • Cocopods远程仓库如何创建?_第2张图片
      来自天堂的风.png
    • 这里有几个点需要注意下:
  s.name (项目的名称)
  s.version          = '0.3.5' (版本号,这里是打tag的必须要用的,而且要高于当前的版本)
  s.summary          = 'TZTestBase.'(项目概述)
  s.description      = 'TZTestBase.TZTestBase' (描述东西,这里切记       s.description一定要比 s.summary的字符串要长)
 s.homepage  (远程仓库网页地址)
s.source  (远程仓库代码地址)
# 表示注释
/**/*' 表示匹配通用的东西,如.h .m等等
#s.source_files = 'TZTestBase/Classes/**/*' 因为我这里配置Classes文件夹下面的东西
如:
s.subspec 'Base' do |b|
        b.source_files = 'TZTestBase/Classes/Base/**/*'
这里按照此格式依次配置就ok,因为我们的spec索引文件有对应字母
  • 三. 提交代码
    • 这里我们还需要在github建立一个存放代码的远程仓库TZTestBase(这是我创建的),目的就是需要把我们所采用模版类你创建公用类提交到远程仓库,我这里对应的远程仓库地址:
https://github.com/defuliu/TZTestBase

git 的一些基本用法:

cd /TZTestBase(cd 当前文件夹的路径)
git add .
添加到本地仓库
git commit --m ''
查看远程是否有分支
git remote 
如果没有的话,链接到远程仓库
git remote add origin  https://github.com/defuliu/TZTestBase.git(这是远程代码仓库地址,对,没毛病)
提交到远程仓库
git push origin master
打tag 
git tag 查看当前tag我是0.3.5,切记这里的tag一定是和spec索引文件的tag是一样的,要不验证通不过
推送tag
git push --tag
  • 提交成功后,可以去github上查看下,如下


    Cocopods远程仓库如何创建?_第3张图片
    来自天堂的风.png
  • 可以看到Base Category Tool 都已成功上传
  • 校验spec 文件
  • 其实到了这里,如何spec文件没错的,验证起来就很容易了,下面开始验证(cd到开始创建的模版类)
  pod lib lint (也可以加 pod lib lint TZTestBase.podsepc,本地验证)
 pod spec lint (远程spec验证)

验证通过如下:


Cocopods远程仓库如何创建?_第4张图片
来自天堂的风.png

,(pod spec lint)远程验证忽略了。。。

接下来把本地spec索引库链接到远程仓库,命令如下

 pod repo push  TestSpec20170718 TZTestBase.podspec

接下来就简单了,跟我们平时安装第三方框架的步骤一样,如下


Cocopods远程仓库如何创建?_第5张图片
来自天堂的风.png

这里需要注意两点:

source 'https://github.com/defuliu/TestSpec20170718.git'(自己的spec索引文件)
source 'https://github.com/CocoaPods/Specs.git'
  • (一定要记得引用,要不会报错的)
  • 最后,接下来看下我们的成果


    Cocopods远程仓库如何创建?_第6张图片
    来自天堂的风.png

写的不对的地方,请大神多多指点,我好斧正!!!!

你可能感兴趣的:(Cocopods远程仓库如何创建?)