iOS 私有库配置
本篇中使用的远程仓库是码市
注意: 默认读者会使用Git管理代码, 以及上传至远程Git仓库
如果有错误的地方请留言, 我会修改
第一步, 添加远程私有索引仓库
注册登录后的界面
![](https://img.haomeiwen.com/i1321364/e45d9519e05517d8.png)
码市
点击添加项目
![](https://img.haomeiwen.com/i1321364/eacf79f7d3a177c1.png)
远程私有索引库
点击创建项目后跳转界面
![](https://img.haomeiwen.com/i1321364/bbe0d376df902d57.png)
创建仓库后直接跳转的界面
点击左侧 代码 选项卡, 进入私有的远程cocoaPods仓库界面
![](https://img.haomeiwen.com/i1321364/c1113605fa727c15.png)
远程cocoaPods私有索引仓库界面
打开终端, 输入指定 pod repo
![](https://img.haomeiwen.com/i1321364/cf11a388d0efc41e.png)
当前的远程索引仓库
可以看到cocoaPods目前链接了一个远程索引仓库, URL是在github上的远程索引仓库, Path是通过pod setup下载到本地的索引仓库
可以输入指令 pod repo --help 查看当前pod repo 拥有的命令
![](https://img.haomeiwen.com/i1321364/fb69fbc9d9d7357e.png)
命令
输入 pod repo add 仓库名 仓库SSH(HTTPS)地址 来添加一个远程索引仓库
![](https://img.haomeiwen.com/i1321364/9260bfe36ae9222e.png)
添加一个远程索引仓库
仓库SSH(HTTPS)地址位置在码市上的下图位置
![](https://img.haomeiwen.com/i1321364/a4f4c349831b7775.png)
仓库SSH(HTTPS)地址位置
再次输入 pod repo 命令
![](https://img.haomeiwen.com/i1321364/405d5a79def7847d.png)
成功添加LTPodspecs远程私有索引库
LTPodspecs就是我刚才添加的远程私有索引库
第二步, 配置一个私有的代码仓库
打开码市, 新添加项目, 这个项目是被CocoaPods管理的私有代码仓库, 用来存储需要被管理的代码, 和上面创建的索引库用处不同
![](https://img.haomeiwen.com/i1321364/22d7fe1555f74846.png)
我在桌面上创建了一个新的文件夹, 用来配置私有代码库
![](https://img.haomeiwen.com/i1321364/6ac563c4d2f04926.png)
新建文件夹
使用终端cd到当前文件夹
![](https://img.haomeiwen.com/i1321364/1864daaf7ca08821.png)
cd
输入指令创建一个git本地仓库 pod lib create 仓库名
![](https://img.haomeiwen.com/i1321364/47c842854df68abd.png)
git仓库
本仓库用来测试和上传 私有代码
创建的git本地仓库
![](https://img.haomeiwen.com/i1321364/8adb05b8126b2492.png)
git本地仓库
打开测试工程, 找到ReplaceMe.m文件并删除
![](https://img.haomeiwen.com/i1321364/dfb64783c103f81d.png)
打开测试工程
![](https://img.haomeiwen.com/i1321364/e96decd6bec905ec.png)
删除文件
找到需要CocoaPods私有仓库管理的源码(我这里的是Category文件夹), 并拖拽代码文件到Classes文件夹中, 选择Copy Items if needed
![](https://img.haomeiwen.com/i1321364/4d49356941a8c546.png)
选择Copy Items if needed
![](https://img.haomeiwen.com/i1321364/b5803df2b0ae4070.png)
拖拽代码到Classes文件夹中
可以通过Show In Finder查看拖入文件夹的所在真实位置
![](https://img.haomeiwen.com/i1321364/556e3908f4d417da.png)
Show In Finder
![](https://img.haomeiwen.com/i1321364/186178d0feb0de9c.png)
24.png
因为测试工程创建完之后引用的LTCategorys文件中并没有刚拖入的Category文件夹中文件, 所以需要重新pod install一下
cd到测试工程文件夹, 并执行命令 pod install
![](https://img.haomeiwen.com/i1321364/73ecdb511a786573.png)
![](https://img.haomeiwen.com/i1321364/1e193193ed1b2746.png)
cd到Example文件夹, 并执行pod install
此时拖入工程的Category中文件就可以正常使用了, 此时使用的是本地私有库
打开测试工程, 在下面的位置可以进行podspec文件的配置
![](https://img.haomeiwen.com/i1321364/dec31c5d626aff93.png)
podspec文件位置
简单解释
![](https://img.haomeiwen.com/i1321364/9c20fd358c4e0394.png)
简单解释
![](https://img.haomeiwen.com/i1321364/a2a2b42a0b59bbdf.png)
配置完成
s.homepage需要设置刚创建的私有代码仓库的地址, 不是私有索引库的地址
s.source 需要设置的是私有代码仓库的源地址(选择使用HTTPS地址)
将刚创建的本地仓库上传到这个项目中, 并打上tag, 这个tag必须和上面podspec文件中的版本一致(我上面的版本是0.1.0, 所以我打的tag就是0.1.0)
![](https://img.haomeiwen.com/i1321364/f70f4519d16aef6a.png)
上传代码到远程私有仓库
![](https://img.haomeiwen.com/i1321364/681f422352631427.png)
打上的tag
打开终端, cd到LTCategorys文件夹(使用pod lib screate 命令创建的本地代码仓库), 分别使用 pod lib lint 和 pod spec lint 命令进行podspec的本地校验和远程校验
![](https://img.haomeiwen.com/i1321364/0d00619136c557b1.png)
cd
![](https://img.haomeiwen.com/i1321364/380a79f1d29c3376.png)
校验
以上步骤完成后, 需要将LTCategorys.podspec文件上传到本地的私有索引库, 接着会自动上传至远程私有库
终端使用pod repo文件查看现有索引库
cd 至 LTCategorys 文件夹下, 接着执行 pod repo push 索引库名 podspec文件名
![](https://img.haomeiwen.com/i1321364/e1015a8305ef18a2.png)
查看现有索引库
![](https://img.haomeiwen.com/i1321364/b8fc95a5d3b8edf7.png)
上传到本地索引库, 自动上传至远程索引库
远程索引库中的索引文件
![](https://img.haomeiwen.com/i1321364/9f877cd93c734484.png)
远程索引库中的索引文件
在桌面上创建一个测试工程
![](https://img.haomeiwen.com/i1321364/4e7ee6f545fd7dce.png)
新建测试工程
cd到Test文件夹, 并使用终端调用pod init命令创建一个Podfile文件
![](https://img.haomeiwen.com/i1321364/2bc3bbd3777d8f54.png)
Podfile文件
调用pod repo命令, 查看当前索引库的URL地址
![](https://img.haomeiwen.com/i1321364/016d60e41b6df7f3.png)
查看URL地址
打开Test中的Podfile文件, 如下填写
![](https://img.haomeiwen.com/i1321364/3a601bf8bb508740.png)
介绍
![](https://img.haomeiwen.com/i1321364/668af90331913b8c.png)
填写完毕
cd 到Test文件夹下, 使用终端执行pod install 命令, 此时两个第三方代码就成功安装到项目中
![](https://img.haomeiwen.com/i1321364/fa42c9349c91e59a.png)
使用CocoaPods安装第三方代码
打开Test工程, 可以看到安装的第三方库, 一个是AFNetworking(公共库) 和 LTCategorys(远程私有库)
![](https://img.haomeiwen.com/i1321364/82370786423e4808.png)
Test工程
最后
创建的LTPodspecs私有库是用来存放CocoaPods索引文件(podspec类型)的
创建的LTCategorys私有库是用来存放远程私有代码的(同github分享开源代码)
使用LTPodspecs来存放LTCategorys的podspec文件, 就是远程私有库的核心
最后使用CocoaPods就可以安装私有库中的代码了, 私有库中代码只有自己和自己指定的人使用 (其他人使用, 必须添加你的CocoPods私有库, 并且要在你的码市账号中设置SSH的公钥才行)
以后的私有远程代码也可以使用这个LTPodspecs索引库来管理