目前,cocoapods-art还不能很好的适配苹果M系列芯片的macOS系统,故而探索出这条兜底的协作路径,可以不用使用cocoapods-art插件。
本文涉及相关命令curl
、tar
、git
、pod(cocoapods)
原理
cocoapods-art的原理是先从jfrog下载全量的podspec索引,然后在本地创建git仓库存储这些索引,供cocoapods使用。
cocoapods-art插件操作的git仓库路径在 ~/.cocoapods/repos
和~/.cocoapods/repos-art
里面。
同理,我们可以按照cocoapods-art这个流程来实现我们自己的索引管理方案。
下载索引
这里使用artifactory提供rest api,将索引下载到/AAAA(绝对路径,且不和操作系统用户绑定)
路径
# -u 用户名密码鉴权
# -A 自定义http的User-Agent
curl -u artifactory用户名:密码 -f -L -o /AAAA/file.tgz http://artifactory域名/artifactory/api/pods/jfrog仓库名/index/fetchIndex --create-dirs --netrc-optional --retry 2 -A 'CocoaPods/1.11.3 cocoapods-downloader/1.6.3' --ssl-no-revoke
创建git仓库或者更新git仓库
第一次下载索引文件时的操作(创建添加)
索引文件下载到/AAAA/file.tgz
,使用tar
命令解压
tar xf /AAAA/file.tgz -C /AAAA
# 解压后删除压缩包
rm /AAAA/file.tgz
将/AAAA
目录初始化为git仓库,再次下载索引时只要更新git仓库就可以了
# 第一次下载索引文件后,初始化git仓库
cd /AAAA
git init
git branch -M main #设置main为默认目录
# 添加索引文件到git仓库
git add .
git commit -m "add message"
# 再次下载所以文件后,直接讲索引添加到git仓库
再次下载索引文件时的操作(更新)
索引文件下载到/AAAA/file.tgz
,先删除旧索引(specs),再使用tar
命令解压压缩包
rm -fr /AAAA/Specs
tar xf /AAAA/file.tgz -C /AAAA
rm /AAAA/file.tgz
更新git仓库
git add .
git commit -m "update message"
修改Podfile源
这步是最后的操作了,将podfile的source指向我们下载后的索引目录
source '/AAAA' #绝对路径,且不和操作系统用户绑定,避免podfile.lock文件因为操作系统用户不同而发生变化
然后执行 pod install就可以了
发表回复
要发表评论,您必须先登录。