前言
Pod 是苹果开发平台上管理三方包的工具。使用简单,可以管理公有库,也可以管理私有库,对公司内部的模块发开发非常有用。
之前我发布过公有库的创建和发布文章。这次总结一下私有库的创建、升级、发布和总结。
Pod 私有库的创建、发布、升级、维护
私有库同公有库一样。本质区别就是存放 podspec 源仓库 和 源代码仓库 的位置不同。
- 公有库将 podspec 统一存放到 CocoaPods 官方的地址。源码地址放到公开可访问的git仓库。如 GitHub
- 私有库将 podspec 存放到公司内网 spec 仓库。源码地址放到公司内网git仓库,如 GitLab
私有库的创建步骤(以从零创建为例):
- 创建仓库模板
pod lib create XXX
- 编写
.podspec
文件 - 使用
pod lib lint
验证.podspec
文件,通过后提交 git 仓库、推送远端 - 开发 pod 源码,验证正确,推送到远程 git
- 给 git 打 tag 发布到远端
- 使用
pod spec lint
验证.podspec
文件是否正确。 - 将
.podspec
发布到私有 podspec git 仓库
私有库升级的本质
私有库升级本质就是: 重新编写 podspec 与 pod源码、然后分别上传推送到私有远端。从操作上来说就是私有库创建步骤的 2-7
步
具体操作
结合上面步骤操作代码如下:
// 1. 修改 spec 文件. 通常是修改指定版本号
// 2. 本地仓库验证 spec 正确性,提交 git
$ pod lib lint
$ git add .
$ git commit -m "update podSpec"
$ git push -u origin master:master
// 3. 开发 pod、完善新版本代码
$ pod install
// ... 修改代码
$ git add .
$ git commit -m "update source code"
$ git push -u origin master:master
// 4. git 打tag 发送到远端
$ git tag -m "new tags" "0.2.0"
$ git push —-tags
// 5. 验证远端 spec, 发布到远端。 私有库指明私有 source 地址
$ pod spec lint
$ pod repo push
遇到的问题处理
自带源不干净,处理方案: 1. 移除私有库 2. 重新添加私有库 3. 再次执行网远端私有库提交 spec 文件
具体操作
pod repo remove SpecRepoName
pod repo add SpecRepoName https://gitee.com/xxx/SpecRepoName.git
pod repo push SpecRepoName SpecFileName.podspec --allow-warnings
总结步骤 & 思考提升效率
私有库的创建与发布步骤如上, 本质上比较机械化的操作。 对于机械化的操作,要想办法让机器来操作,简单来说就是写一个脚本让机器去执行这些步骤。
效率提升: 说白了就是合理使用公司资源。
我的想法就是: 开发代码的工作使用自己开发机器,打包升级功能使用公司打包机器操作。
这里可以经过总结,可以通过 SSH 远程登录公司打包机器。然后打包机器执行 Pod 升级的脚本。
具体实践: 见下一篇文章
----- end -----
参考
https://juejin.cn/post/6844903934058823688
http://www.mengyueping.com/2018/08/16/iOS_CocoaPods_03/