您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页cocoapod 组件化之私有库托管

cocoapod 组件化之私有库托管

来源:二三娱乐

项目组件化已成标配,优点不再详谈,实现项目模块组件化的需要两步

  1. 项目业务模块逻辑解耦,并写中间件进行模块间,模块与项目间的通信。
  2. 解耦业务模块使用cocoapods私有库托管,实现项目代码物理隔离。

本章记录一下第二步,cocoapod私有库的使用流程。
应该先了解cocoapod 官方库的托管逻辑,再去建私有库,比较明白。
即cocoapod私有库使用 也大致分为两步,
第一步,建立模块代码仓库。
第二步,建立pod私有索引库,并将第一步生成的索引.podspec文件push到私有索引库中。

一、建立项目模块代码仓库。

公司的项目,模块代码库肯定要建立公司内网站点里。私人的东西可以建立在github上,公开的。

1.命令建立项目模块私有库模板。

pod lib create XXX
    pod lib lint

如果出错,修改完,若是动了工程文件,则需要执行

pod update

然后再次本地验证pod lib lint
5.将本地验证无误的模块代码推送到公司站点已建立好的仓库(pod lib create 创建的已经包含git信息)
6.该项目模块发布一个版本,需要与.podspec文件中发布版本一致
7.验证远程库

    pod spec lint

验证无误后,项目模块私有库创建就完成了。

  • 第三步坑比较多,很多配置问题,比如子库,对其他私有和公有库的引用,编译时是否使用到了静态库,warning警告如何忽略等
    暂时列出 需要注意的几个点
    --use-libraries 编译时需要静态库,
    --allow-warnings 忽略警告
    具体详见

二、建立pod私有索引库,并将第一步生成的索引.podspec文件push到索引库中。

  • 接下来建立类似cocoapods官方库的私有库。我的命名为FZXSepec
# pod repo add [Private Repo Name]  [git HTTPS clone URL]
 pod repo add FZXSepec http://192.168.73.xxx:2200/xxxx/FZXSepec.git
  • 向spec仓库中添加我们第一步已经创建好的项目模块.podspec配置文件
    cd到.podspec文件所在目录
# pod repo push [Private Repo Name] [Private podspec Path]
 pod repo push FZXSepec ./MyLibary.podspec

推送成功我们可以到FZXSepec目录下查看

 cd ~/.cocoapods

三、私有库的使用

Podfile 文件中默认情况下已经隐式使用 source声明了 CocoaPods 的官方仓库。但使用私有组件,需要使用 source关键字鲜显式声明组件所在仓库,如下:


podfile文件.jpg

当然我们也可以省略掉第2步,如果不想创建私有仓库,也可以在 Podfile 里直接引用私有组件(组件可以是本地的,也可以是托管在自家公司服务器或网上的代码托管平台上的),引用的同时还可以制定具体的 commit、branch 或者 tag,比如:

# pod 'FGMarqueeView', :git =>  :commit => 'b4dc0ffee'
  • 部分命令
    pod lib lint --use-libraries --allow-warnings
    pod spec lint --use-libraries --allow-warnings
    pod repo push FZXSpecs FZXParse.podspec --use-libraries --allow-warnings

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务