创建 CocoaPods 私有库
一、创建私有库
1.创建 github 仓库
屏幕快照 2017-03-30 下午10.45.49.png2.创建私有 Spec Repo
先来说第一步,什么是 Spec Repo ?他是所有的Pods的一个索引,就是一个容器,所有公开的 Pods 都在这个里面,他实际是一个 Git 仓库 remote 端在 GitHub 上,但是当你使用了 Cocoapods 后他会被clone到本地的 ~/.cocoapods/repos 目录下,可以进入到这个目录看到官方的 Spec Repo , 即 master 文件夹
3.创建 iOS Cocoapods 工程项目
如果已有工程文件可需要自行创建 .podspec 文件,并进行编辑(操作应该和创建新的工程差不多,我还没研究 _)。建议用下边的方法创建新的工程项目,因为它为我们创建了,依赖文件,会少走很多坑(如果你感觉自己很diao,当我没说)
执行如下命令,即可创建
pod lib create KYSIOSShared
创建项目
其中5个问题分别为:工程语言 | 是否需要Demo | 测试框架 | 是否需要view测试 | 工程前缀
4. 配置.podspec文件
.podspec文件库文件添加完成后,我们需要配置 .podspec 文件 ,如何配置请 Baidu Google
5. 执行 pod update
当你向 Pod 添加了新文件或更新 .podspec 的版本都需要进入 Example 目录,执行 pod update 更新一下工程,执行完它,Pod/Classes中目录的文件会自动添加到工程中
6. 验证 .podspec 配置文件
在工程目录下执行如下命令
pod lib lint
验证成功
7. 添加到远端仓库
通过 Cocoapods 创建的项目,就是用 git 管理的。接下来我们需要将项目推到我们的私有仓库
执行如下命令
git add .
git commit -s -m "first push"
git remote add origin https://github.com/jackkang0401/KYSIOSShared.git
git push origin master
8. 添加版本控制的项目 tag 号
执行如下命令
git tag -m "first tag" 0.1.0
git push --tags
9. 本地测试 .podspec 文件
① 配置 Podfile 文件
Podfile② 执行 pod install
安装成功10. 提交私有仓库
① 执行如下命令
KYSIOSShared(本地repo名称),KYSIOSShared.podspec(配置文件路径)
pod repo push KYSIOSShared KYSIOSShared.podspec
② 测试私有库是否创建成功
配置Podfile 安装成功 测试项目目录③ 注意事项
执行 pod install 可能会遇到如下问题,我的解决方案是删除 Assets 与 Classes 目录,库文件移到其他目录(我换成功了Example/Pod/KYSObjCShared/),并配置 .podspec 文件。修改完成后需要进入Example/目录 重新执行 pod update,重走一遍流程
Analyzing dependencies
[!] An unexpected version directory `Assets` was encountered for the `...` Pod in the `...` repository.
修改配置文件
更改完的项目的目录结构
二、 版本升级
1. 添加新的库文件,修改 .podspec 配置文件
创建 KYSPodUpdateVersion 文件 修改配置文件2. 进入Example目录,执行 pod update
更新成功3.验证 .podspec 配置文件
执行如下命令
pod lib lint
验证通过
4. 提交到远端仓库
执行如下命令
git add .
git commit -m "update version 0.1.1"
git pull origin master
git push origin master
5.添加新的 tag 号
执行如下命令
git tag -m "first tag" 0.1.1
git push --tags
- 注意:如果担心出问题最好先进行一下本地验证
6.更新私有仓库
① 执行如下命令
pod repo push KYSIOSShared KYSIOSShared.podspec
更新成功
② 进入之前的测试项目执行 pod update 命令
KYSPodUpdateVersion文件已加入 ^_^三、添加子模块
过程和版本升级是一样的,就是配置 .podspec 文件稍微复杂一点
① 私有库目录结构
子模块目录结构② .podspec 配置文件
.podspec 配置文件# subspec之间也可以相互依赖
# KYSIOSShared为父仓库名,KYSSubspec1为子仓库名称
s2.dependency 'KYSIOSShared/KYSSubspec1'
③ 执行 pod update
更新结果四、总结
从零了解到私有库创建成功,用了大约3天的时间。这期间也入了跟多坑,也查阅了很多资料,觉得下边的两个链接学的相对好一些,可以参考一下。在这里遇到的最大的一个坑就是前边说道的关于 Assets、Classes 目录的问题,卡了大约1天多,最后换了库文件的路径才得到解决,如果大家有更好的方案或是文章哪里不对,欢迎您的留言 *_^