五、向私有的Spec Repo中提交podspec和远程私有spec仓库提交
- 5.1、在
三
里面我们已经验证过 spec文件是符合规定的,向私有的Spec Repo中提交 spec文件
pod repo push JKCIOBase JKCIOBase.podspec
在此提示:JKCIOBase 是 私有本地私有 spec 索引库的名字,JKCIOBase.podspec 是我们要推送的索引文件
- 提示:如果你在验证的时候有警告,只要没有报错可以加上
--use-libraries --allow-warnings
,如下:
pod repo push JKCIOBase JKCIOBase.podspec --use-libraries --allow-warnings
5.2、我们验证下是否成功
进入本地 JKCIOBase 仓库,上面的没有报错,在JKCIOBase里面出现JKCIOBase仓库就是成功了,JKCIOBase里面会存着每个版本的spec文件,这里展示了 0.0.2
版本的 spec
文件
command + shift +G 输入 ~/.cocoapods/repos
5.3、远程私有spec仓库提交
其实写这个5.3是多余的,因为在5.2里面,我们把spec文件提交到本地的时候,同时也就提交到了我们创建的远程 spec仓库,也就是我们在 1.1 创建的 JKCIOSpecs,我们看下JKCIOSpecs里面,存放也是spec的各个版本,如下图
六、使用pod库来测试远程私有库的使用
- 6.1、在桌面创建一个项目
JKRemoteLocalTest
- 6.2、创建Podfile文件
cd JKRemoteLocalTest文件夹 pod init
- 6.3、修改 Podfile文件的内容
source 'git@gitee.com:JKWC/JKCIOSpecs.git' platform :ios, '9.0' target 'JKRemoteLocalTest' do use_frameworks! pod 'JKCIOBase' end
提示:
source 'git@gitee.com:JKWC/JKCIOSpecs.git'
是远程spec仓库的地址,不可少,因为pod 'JKCIOBase'
是要从 source资源里面去找spec文件来下载相应的版本的 JKCIOBase
- 6.4、查看导入的效果
七、远程私有库与其他公有的混合使用
- 7.1、如下 Podfile文件 内容,导入
SDWebImage
是不会成功的
source 'git@gitee.com:JKWC/JKCIOSpecs.git' platform :ios, '9.0' target 'JKRemoteLocalTest' do use_frameworks! pod 'JKCIOBase' pod 'SDWebImage' end
- 7.2、解决
7.1
导入SDWebImage
不成功的问题
- 分析 SDWebImage 是属于pod 公有库的资源,在
source 'git@gitee.com:JKWC/JKCIOSpecs.git'
是不可能找到的,所以要在公有库的资源里面寻找,查看公有库资源路径
pod repo
- 如下写 Podfile 文件才是正确的
source 'git@gitee.com:JKWC/JKCIOSpecs.git' source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' target 'JKRemoteLocalTest' do use_frameworks! pod 'JKCIOBase' pod 'SDWebImage' end
- 7.3、查看导入远程私有库与公有库的效果
八、远程私有库分支
- 8.1、这个有关分支的问题,我在远程共有库已经阐述过了这里我就在
JKCIOBase
添加一个JKKit
8.2、在spec文件里面设置一下JKCategory
与JKKit
分支的东西
- 8.3、把版本改为
0.0.6
,打tag提交代码如下
# cd 进入spec所在的目录 cd 进入 JKCIOBase所在的目录,也就是spec文件所在的目录 # 打0.0.6的tag git tag '0.0.6' # 提交 tag到 远程私有仓库 git push origin 0.0.6 # 使用xcode提交代码到远程仓库
- 8.4、提交spec文件到本地私有spec仓库(也就是我们创建的JKCIOBase)
pod repo push JKCIOBase JKCIOBase.podspec --use-libraries --allow-warnings
8.5、在使用 command + shift +G 输入 ~/.cocoapods/repos
里面的 JKCIOBase
就可以看到里面多了一个新的版本,我这里提交的是 0.0.6
8.6、测试一下是否设置分支成功
cd 进入上面测试`JKRemoteLocalTest` # 更新库 pod update
九、远程私有库添加依赖库
- 9.1、给
JKCIOBase
添加依赖库'AFNetworking'
与'MJRefresh'
,给JKKit
添加一个依赖库Masonry
- 9.2、打tag,提交spec等等和
八
里面的一样,不再写了 - 9.3、查看是否依赖第三方库成功。同样更新
JKRemoteLocalTest