iOS开发: 配置CocoaPods远程私有仓库

2,192 阅读4分钟

本篇中使用的远程仓库是码市 注意: 默认读者会使用Git管理代码, 以及上传至远程Git仓库

如果有错误的地方请留言, 我会修改

第一步, 添加远程私有索引仓库

  • 注册登录后的界面

    码市

  • 点击添加项目

    远程私有索引库

  • 点击创建项目后跳转界面

    创建仓库后直接跳转的界面

  • 点击左侧 代码 选项卡, 进入私有的远程cocoaPods仓库界面

    远程cocoaPods私有索引仓库界面

  • 打开终端, 输入指定 pod repo

    当前的远程索引仓库

    • 可以看到cocoaPods目前链接了一个远程索引仓库, URL是在github上的远程索引仓库, Path是通过pod setup下载到本地的索引仓库
  • 可以输入指令 pod repo --help 查看当前pod repo 拥有的命令

    命令

  • 输入 pod repo add 仓库名 仓库SSH(HTTPS)地址 来添加一个远程索引仓库

    添加一个远程索引仓库

  • 仓库SSH(HTTPS)地址位置在码市上的下图位置

    仓库SSH(HTTPS)地址位置

  • 再次输入 pod repo 命令

    成功添加LTPodspecs远程私有索引库

    • LTPodspecs就是我刚才添加的远程私有索引库

第二步, 配置一个私有的代码仓库

  • 打开码市, 新添加项目, 这个项目是被CocoaPods管理的私有代码仓库, 用来存储需要被管理的代码, 和上面创建的索引库用处不同

  • 我在桌面上创建了一个新的文件夹, 用来配置私有代码库

    新建文件夹

  • 使用终端cd到当前文件夹

    cd

  • 输入指令创建一个git本地仓库 pod lib create 仓库名

    git仓库

    • 本仓库用来测试和上传 私有代码
  • 创建的git本地仓库

    git本地仓库

  • 打开测试工程, 找到ReplaceMe.m文件并删除

    打开测试工程
    删除文件

  • 找到需要CocoaPods私有仓库管理的源码(我这里的是Category文件夹), 并拖拽代码文件到Classes文件夹中, 选择Copy Items if needed

    选择Copy Items if needed
    拖拽代码到Classes文件夹中

  • 可以通过Show In Finder查看拖入文件夹的所在真实位置

    Show In Finder
    24.png

  • 因为测试工程创建完之后引用的LTCategorys文件中并没有刚拖入的Category文件夹中文件, 所以需要重新pod install一下

    • cd到测试工程文件夹, 并执行命令 pod install
      cd到Example文件夹, 并执行pod install
  • 此时拖入工程的Category中文件就可以正常使用了, 此时使用的是本地私有库

  • 打开测试工程, 在下面的位置可以进行podspec文件的配置

    podspec文件位置

  • 简单解释

    简单解释
    配置完成

    • s.homepage需要设置刚创建的私有代码仓库的地址, 不是私有索引库的地址
    • s.source 需要设置的是私有代码仓库的源地址(选择使用HTTPS地址)
  • 将刚创建的本地仓库上传到这个项目中, 并打上tag, 这个tag必须和上面podspec文件中的版本一致(我上面的版本是0.1.0, 所以我打的tag就是0.1.0)

    上传代码到远程私有仓库
    打上的tag

  • 打开终端, cd到LTCategorys文件夹(使用pod lib screate 命令创建的本地代码仓库), 分别使用 pod lib lint 和 pod spec lint 命令进行podspec的本地校验和远程校验

    cd
    校验

  • 以上步骤完成后, 需要将LTCategorys.podspec文件上传到本地的私有索引库, 接着会自动上传至远程私有库

    • 终端使用pod repo文件查看现有索引库
    • cd 至 LTCategorys 文件夹下, 接着执行 pod repo push 索引库名 podspec文件名
      查看现有索引库
      上传到本地索引库, 自动上传至远程索引库
  • 远程索引库中的索引文件

    远程索引库中的索引文件

  • 在桌面上创建一个测试工程

    新建测试工程

  • cd到Test文件夹, 并使用终端调用pod init命令创建一个Podfile文件

    Podfile文件

  • 调用pod repo命令, 查看当前索引库的URL地址

    查看URL地址

  • 打开Test中的Podfile文件, 如下填写

    介绍
    填写完毕

  • cd 到Test文件夹下, 使用终端执行pod install 命令, 此时两个第三方代码就成功安装到项目中

    使用CocoaPods安装第三方代码

  • 打开Test工程, 可以看到安装的第三方库, 一个是AFNetworking(公共库) 和 LTCategorys(远程私有库)

    Test工程

最后

  • 创建的LTPodspecs私有库是用来存放CocoaPods索引文件(podspec类型)的
  • 创建的LTCategorys私有库是用来存放远程私有代码的(同github分享开源代码)
  • 使用LTPodspecs来存放LTCategorys的podspec文件, 就是远程私有库的核心
  • 最后使用CocoaPods就可以安装私有库中的代码了, 私有库中代码只有自己和自己指定的人使用 (其他人使用, 必须添加你的CocoPods私有库, 并且要在你的码市账号中设置SSH的公钥才行)
  • 以后的私有远程代码也可以使用这个LTPodspecs索引库来管理

下一篇: iOS开发: CocoaPods远程私有仓库的维护升级