本篇中使用的远程仓库是码市
注意: 默认读者会使用Git管理代码, 以及上传至远程Git仓库
如果有错误的地方请留言, 我会修改
第一步, 添加远程私有索引仓库
-
注册登录后的界面
-
点击添加项目
-
点击创建项目后跳转界面
-
点击左侧 代码 选项卡, 进入私有的远程cocoaPods仓库界面
-
打开终端, 输入指定 pod repo
- 可以看到cocoaPods目前链接了一个远程索引仓库, URL是在github上的远程索引仓库, Path是通过pod setup下载到本地的索引仓库
-
可以输入指令 pod repo --help 查看当前pod repo 拥有的命令
-
输入 pod repo add 仓库名 仓库SSH(HTTPS)地址 来添加一个远程索引仓库
-
仓库SSH(HTTPS)地址位置在码市上的下图位置
-
再次输入 pod repo 命令
- LTPodspecs就是我刚才添加的远程私有索引库
第二步, 配置一个私有的代码仓库
-
打开码市, 新添加项目, 这个项目是被CocoaPods管理的私有代码仓库, 用来存储需要被管理的代码, 和上面创建的索引库用处不同
-
我在桌面上创建了一个新的文件夹, 用来配置私有代码库
-
使用终端cd到当前文件夹
-
输入指令创建一个git本地仓库 pod lib create 仓库名
- 本仓库用来测试和上传 私有代码
-
创建的git本地仓库
-
打开测试工程, 找到
ReplaceMe.m
文件并删除
-
找到需要CocoaPods私有仓库管理的源码(我这里的是Category文件夹), 并拖拽代码文件到Classes文件夹中, 选择
Copy Items if needed
-
可以通过
Show In Finder
查看拖入文件夹的所在真实位置
-
因为测试工程创建完之后引用的LTCategorys文件中并没有刚拖入的Category文件夹中文件, 所以需要重新pod install一下
-
cd到测试工程文件夹, 并执行命令 pod install
-
此时拖入工程的Category中文件就可以正常使用了, 此时使用的是本地私有库
-
打开测试工程, 在下面的位置可以进行podspec文件的配置
-
简单解释
- s.homepage需要设置刚创建的私有代码仓库的地址, 不是私有索引库的地址
- s.source 需要设置的是私有代码仓库的源地址(选择使用HTTPS地址)
-
将刚创建的本地仓库上传到这个项目中, 并打上tag, 这个tag必须和上面podspec文件中的版本一致(我上面的版本是0.1.0, 所以我打的tag就是0.1.0)
-
打开终端, cd到LTCategorys文件夹(使用pod lib screate 命令创建的本地代码仓库), 分别使用 pod lib lint 和 pod spec lint 命令进行podspec的本地校验和远程校验
-
以上步骤完成后, 需要将LTCategorys.podspec文件上传到本地的私有索引库, 接着会自动上传至远程私有库
- 终端使用pod repo文件查看现有索引库
-
cd 至 LTCategorys 文件夹下, 接着执行 pod repo push 索引库名 podspec文件名
-
远程索引库中的索引文件
-
在桌面上创建一个测试工程
-
cd到Test文件夹, 并使用终端调用pod init命令创建一个Podfile文件
-
调用pod repo命令, 查看当前索引库的URL地址
-
打开Test中的Podfile文件, 如下填写
-
cd 到Test文件夹下, 使用终端执行pod install 命令, 此时两个第三方代码就成功安装到项目中
-
打开Test工程, 可以看到安装的第三方库, 一个是AFNetworking(公共库) 和 LTCategorys(远程私有库)
最后
- 创建的LTPodspecs私有库是用来存放CocoaPods索引文件(podspec类型)的
- 创建的LTCategorys私有库是用来存放远程私有代码的(同github分享开源代码)
- 使用LTPodspecs来存放LTCategorys的podspec文件, 就是远程私有库的核心
- 最后使用CocoaPods就可以安装私有库中的代码了, 私有库中代码只有自己和自己指定的人使用 (其他人使用, 必须添加你的CocoPods私有库, 并且要在你的码市账号中设置SSH的公钥才行)
- 以后的私有远程代码也可以使用这个LTPodspecs索引库来管理