cocoapods私有库的创建及使用
创始人
2025-05-29 21:16:34
0

原因

随着团队的扩充,项目的增多,公司级私有库势在必行,其中基础库的构建尤为重要,话不多说进入正题。

名词

repo:资源库,通常我们叫它索引库,repository的缩写,pod自带一个trunk,以前是master,今天就是要创建如果我们自己的索引库,索引库里可以存放很多podspec文件,每个文件就可以获取一个库。

podspec:也叫spec文件,类似库的配置文件,里面包含了库的名字、版本、源地址、本地路径、...很多;

拉取流程

常用命令

//1. 查看本地索引库
pod repo
// 2.本地索引库的名字 远程索引库的地址, 在podfile文件里添加source也会自动添加
pod repo add XXKitSpec https://XXXXXX.KitSpec
// 3.在find中查看
// /Users/xxx/.cocoapods/repos
// 4. 想删除,可以手动删除对应的文件夹,也可以使用命令
pod repo remove XXKitSpec// 验证本地仓库和podspec是否正确 --allow-warnings跳过警告
pod lib lint --allow-warnings
// 如果有遇到验证问题,使用跳过验证也可以
pod lib lint --skip-import-validation
// 验证本地仓库和远程仓库 
pod spec lint --allow-warnings
// 验证通过,将私有仓库和私有索引仓库关联起来 前面是本地Repo名字 后面是podspec名字
pod repo push XXKitSpec XXKit.podspec --allow-warnings // 更新所有仓库集
pod repo update
// 只更新特定的仓库集
pod repo update TestPrivatePodSpecs

步骤

  1. 建立私有的索引库

在公司仓库建立索引仓库,只需要一个空白项目即可选择私有

复制Https地址 在终端使用命令:

pod repo add 索引库名字 索引库地址 

pod repo 查看目录,私有索引库已经存在,创建完成。

  1. 建立私有的组件库

  1. 建立组件库项目

创建私有的pod组件库,执行命令:

pod lib create 组件名字

填写完这些选项,会自动打开工程

  1. 添加组件代码

找到项目,删除ReplaceMe文件,将需要封装的文件复制到Classes文件下

cd 到Example文件下,执行pod install,工程内的pod就自动安装好了

  1. 修改.podspec

  1. 验证代码和.podspec文件

cd到xx.podspec所在文件夹下,执行pod lib lint --allow-warnings,该命令是检查本地索引文件是否符合推送规则。成功了会打印KYKit passed validation。

pod lib lint参数解析:

--sources:需要引⽤的spec,默认只依赖master,如果当前pod依赖了私有库,需要将其对应的spec包含进来,不然会报找不到对应库的问题。参数可以是本地spec的名称,也可以是git地址。

--allow-warnings:有警告会通过不了,如果警告是⽆关紧要的,可以加上,让检测通过。

--verbose:打印详细的检验过程

--use-libraries:⼯程或者依赖⾥⾯了静态库(*.a⽂件)或者是framework

备注:

pod lib lint 表示在本地校验索引文件

pod spec lint 表示在本地和远程都校验索引文件

  1. 关联远程组件库

cd 到上层有.git的文件,关联远程

在公司的 git 服务器上面创建组件的 git 远程仓库,复制https地址,和上面索引仓库一样

在终端执行命令:

git remote add origin 复制的https地址
git add .
git commit -m "第一次提交版本为0.0.5"
git push origin main
git tag 0.0.5
git push origin 0.0.5

本地组件工程已经和远程组件库关联

  1. 关联索引库和组件库

上面已经验证通过,已经打了tag且已经推送的远程组件仓库,剩下的就是把私有组件仓库和私有索引仓库关联,执行命令:

pod repo push KYRepos KYKit.podspec --allow-warnings

上面命令对 KYKit.podspec 文件做了两个操作:一个是将其推送到私有的远程索引仓库,可以去公司的 git 上面 KYRepos 索引仓库中查看;另一个是将其 copy 到私有的本地索引仓库,这个可以去目录:/Users/admin/.cocoapods/repos/KYRepos 下查看到。

上传成功,使用pod repo update更新本地仓库,到这里就完成了基本的私有库,可以使用pod search KYKit查看

  1. 使用

私有库的使用一定要加上私有索引库的远程地址

platform :ios, '9.0'# 如果有依赖第三方库,可以加上cocoapods的索引库地址
source 'https://cdn.cocoapods.org/'
# 私有库地址
source 'https://code.juwan-inc.com/juwan/lolly/lolly_ios_com/KYRepos.git'target 'KYModuleDemo' do# Comment the next line if you don't want to use dynamic frameworksuse_frameworks!# Pods for KYModuleDemopod 'KYKit', '~> 0.0.3'
#  pod 'SDWebImage'
#  pod 'MJExtension' , '~> 3.4.1'
#target 'KYModuleDemoTests' doinherit! :search_paths# Pods for testingendtarget 'KYModuleDemoUITests' do# Pods for testingendend

注意事项

待续

相关内容

热门资讯

上海特大案件曝光!涉案金额超亿... 今年以来,公安部会同金融监管总局开展打击金融领域黑灰产违法犯罪专项工作,对保险等领域违法犯罪进行重点...
关于单方面免签政策常见问题,国... 今天(11月23日),国家移民管理局针对单方面免签政策常见问题进行解答。 1.哪些国家人员可适用单方...
“最快护士”张水华再夺冠 新京报记者 刘锦涵
 制作 葛佳丹 ▲新京报我们视频出品(ID:wevideo) 11月23日,“最...
原创 沉... 在国际关系的复杂舞台上,每一个动作都可能引发连锁反应。近期,高市早苗的发言无疑是这一舞台上的一次重要...
宁夏回族自治区党委书记,用“玫... “特别是何杰勇夺马拉松男子冠军,充分证明宁夏也能生长出绚丽的玫瑰……” 11月22日,宁夏回族自治区...
原创 日... 小泉进次郎的表态,无疑是对高市早苗政策的公开反击。尽管两人曾是同一阵营的人物,并且高市将小泉任命为防...
法律明白人|白广万:学法律强本... “以前村民来问遗产分割、合同纠纷的问题,我心里一点底都没有,只能劝大家别着急,给不出实在的办法。”回...
科技周报|多品牌手机遭遇“绿线... 多品牌手机遭遇“绿线门”,售后政策引不满 近期一场由手机屏幕绿线问题引发的消费维权潮在社交平台上持续...
美政府再次对加州提起诉讼 参考消息网11月23日报道据美联社11月21日报道,特朗普政府起诉加利福尼亚州向非法留美学生提供州内...
传“警银通”郑州暂时停用,有银... 10天前,#律师银行取4万元遭盘问报警#登上热搜。关于“银行反诈层层加码”的讨论一直在继续。 11月...