iOS CocoaPods私有库的创建和版本更新


一、添加repo库

这里使用的代码托管平台是码云,因为GitHub之前创建私有库需要收费而码云不用收费

repo是用来管理Pod索引的库,所有一个repo可以管理多个Pod索引,添加repo库需要一个远程Git库,添加repo即将Git库clone到本地

  1. 创建远程Git仓库
    新建仓库

    配置仓库

  2. 添加远程索引库

    查看pod repo的所有命令

    1
    pod repo

    查看本地所有的repo

    复制Git仓库地址

1
2
#添加远程索引库
pod repo add <repo> <git地址>

重新查看本地所有的repo

二、 创建CocoaPods私有库

官方文档:Using Pod Lib Create

  1. 创建pod库的远程Git仓库
    配置Git仓库

    复制Git仓库地址

  2. 创建Pod库

    Pod库的目录结构

    打开测试工程并删除ReplaceMe.m文件

Development Pods与普通CocoaPods的不同之处在于它们是符号链接文件,因此对其进行编辑将更改原始文件,因此你可以从Xcode内部处理库。 你的演示和测试将需要使用#import <MyLib / XYZ.h>格式包含对标头的引用。

新建NSString类目

注意:这边新建的文件需要指定放到源码目录(这边是Classes,需要于.podspec文件中的source_files对应)

添加类方法

重新pod install

1
pod install

文件重新排列

导入文件添加代码

运行结果

编辑.podspec配置文件

  1. 版本发布
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 进入pod库的根目录
cd /Users/admin/Documents/RemoteLibrary/TestPrivatePod
# 添加远程仓库
$ git remote add origin https://gitee.com/heroyoungday/TestPrivatePod.git
# 添加到缓存
$ git add .
# 提交到本地仓库
$ git commit -m "first commit"
# 推送到远程
$ git push -u origin master
# 添加标签
$ git tag 0.1.0
# 推送标签到远程
$ git push --tags

Pod远程Git仓库

注意:标签的内容为.podspec文件的s.version的值,即pod的版本号

验证pod库

验证spec配置文件

通过设置同一个<索引库名>不同的<.podspec文件名>来实现同一个repo包含多个Pod库

1
pod repo push <索引库名>  <.podspec文件名>

推送版本

1
2
3
4
5
6
# 进入Pod根目录
$ cd /Users/admin/Documents/RemoteLibrary/TestPrivatePod
#查看本地repo库
$ pod repo
# repo推送到远程
$ pod repo push TestPodSpec TestPrivatePod.podspec

repo远程Git仓库

repo远程Git仓库

4、测试Pod库是否发布成功

新建项目PrivatePodDemo,在终端进入项目根目录执行

1
vim Podfile

创建Podfile文件,点击i进入编辑状态,编辑Podfile文件,点击esc后输入:wq退出编辑状态,执行

1
pod install

集成CocoaPods

编辑Podfile

添加测试代码并运行

三、CocoaPods私有库更新版本

  1. 修改源码
    添加方法

  2. 修改.podspec文件中的版本号

  3. Git推送到远程仓库

1
2
3
4
5
6
$ cd /Users/admin/Documents/RemoteLibrary/TestPrivatePod
$ git add .
$ git commit -m "update version"
$ git push origin master
$ git tag 0.2.0
$ git push --tags

注意添加标签tag,tag的内容必须与修改完成的.podspec文件中的版本号一致

  1. 推送版本
1
2
3
4
5
6
7
8
# 进入pod库根目录
$cd <pod库根目录>
# 验证pod
$ pod lib lint
# 验证spec
$ pod spec lint
# 推送repo
$ pod repo push <索引库名> <.podspec文件名>

验证pod和spec

推送repo

  1. 测试版本更新是否成功

使用 pod search <pod库名称>搜索Pod库

执行pod update

注意:更新pod库需要使用pod update而不是pod install,这里使用pod update是更新集成的所有Pod库,pod update <Pod库名>可以更新指定的Pod库

源码更新

运行结果

6.更新Pod库可能会碰到的问题

更新pod库报错

解决方法:在Podfile文件中添加

1
source 'https://github.com/CocoaPods/Specs.git' 

添加源码地址

四、CocoaPods的配置

  1. 添加图片和Bundle
    将图片和Bundle复制到Pod工程目录

修改.podspec配置文件对应的图片和Bundle参数

更新Pod之后