美文网首页
使用 CocoaPods 创建和维护私有库

使用 CocoaPods 创建和维护私有库

作者: xiaoyouPrince | 来源:发表于2020-12-13 23:54 被阅读0次

    前言

    Pod 是苹果开发平台上管理三方包的工具。使用简单,可以管理公有库,也可以管理私有库,对公司内部的模块发开发非常有用。

    之前我发布过公有库的创建和发布文章。这次总结一下私有库的创建、升级、发布和总结。

    Pod 私有库的创建、发布、升级、维护

    私有库同公有库一样。本质区别就是存放 podspec 源仓库源代码仓库 的位置不同。

    • 公有库将 podspec 统一存放到 CocoaPods 官方的地址。源码地址放到公开可访问的git仓库。如 GitHub
    • 私有库将 podspec 存放到公司内网 spec 仓库。源码地址放到公司内网git仓库,如 GitLab

    私有库的创建步骤(以从零创建为例):

    1. 创建仓库模板 pod lib create XXX
    2. 编写 .podspec 文件
    3. 使用 pod lib lint 验证 .podspec 文件,通过后提交 git 仓库、推送远端
    4. 开发 pod 源码,验证正确,推送到远程 git
    5. 给 git 打 tag 发布到远端
    6. 使用 pod spec lint 验证 .podspec 文件是否正确。
    7. .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 文件

    16078747923276.jpg

    具体操作

    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/

    相关文章

      网友评论

          本文标题:使用 CocoaPods 创建和维护私有库

          本文链接:https://www.haomeiwen.com/subject/ilymgktx.html