Pods-Specs

第三方库制作本地镜像步骤如下:(以 SDWebImage 4.2.3 为例)

1、找到 SDWebImage 4.2.3 对应的源码以及索引

方法有两种 :

  • 通过本地缓存查找,终端执行 pod cache list,找到 SDWebImage 的本地缓存路径,Spec 对应的代码路径,Spec 对应的是索引路径。
SDWebImage:
  - Version: 4.2.3
    Type:    Release
    Spec:    /Users/vivien/Library/Caches/CocoaPods/Pods/Specs/Release/SDWebImage/4.2.podspec.json
    Pod:     /Users/vivien/Library/Caches/CocoaPods/Pods/Release/SDWebImage/4.2.3-eec50
  • 通过GitHub搜索,找到对应的tag, 找到 代码和索引

2、在 自制索引库(pods-specs)中添加 索引

索引有两种类型 ***.spec 或 ***.podspec.json

在索引库根目录(Spec/)中创建两级目录,第一级是库名,第二级是版本号,将找到的索引文件命名为“库名.podspec”或“库名.podspec.json”,是否加.json取决于索引文件是否是json文件,将索引文件copy到二级目录下。

 

 

 

修改配置文件中“source”字段

地址改为 "http" : "http://10.88.46.62:8181/desheng/pods-mirror/raw/master/Release/库名/版本号.zip"

去掉 tag 字段

原来的

"source": {
    "git": "https://github.com/SDWebImage/SDWebImage.git",
    "tag": "4.2.3"
}

修改后

"source": {
    "http": "http://xxx/vivien/pods-mirror/raw/master/Release/SDWebImage/4.2.3.zip"
}
3\

3、在 自制第三方镜像库(pods-mirror) 中添加 代码

在镜像库根目录(Release/)中创建一级目录,库名目录,将源码copy到该目录下。

源码压缩成zip文件,修改zip文件名称为 ”版本号.zip“,该zip问价解压后就是索引文件中sourcefile字段指向的根目录。

删除源代码,只留zip包。

 

4、索引库和镜像库提交代码。在工程的Podfile中添加 source 源

source 'ssh://git@xxx/vivien/pods-specs.git'

执行

pod repo update    

pod install 或 pod update

5、在已有镜像库的基础上增加某个库的版本,只需要在原路径下增加索引文件和zip包即可。

注意事项:

如果pod install 之后发现没有导入任何文件,此时需要检查对应库的索引文件中 sourcefile 字段是否能够匹配到 zip 包解压后的文件,一般都是路径不匹配导致的。

某些特殊库不适合采用此方式制作镜像,比如 RN 的依赖库 glog / Folly / DoubleConversion,配置文件中带有 prepare_command 命名,需要依赖原仓库执行一些脚本。
这种情况制作镜像需要将原仓库 copy 一份到内网,同样修改 podspec 文件中的 source 字段,指向内网仓库地址即可。
这种方式制作的镜像 每个库都需要创建一个仓库,太浪费资源,不建议使用。
posted @ 2022-05-24 16:47  尘恍若梦  阅读(180)  评论(0编辑  收藏  举报