今天开始准备开始研究下SDWebImage的源码
首先从GitHub上克隆SDWebImage项目到本地
git clone https://github.com/SDWebImage/SDWebImage
cd到含有podfile文件的根目录执行
pod install
问题这个时候就来了,在安装libwebp的时候报错了
[!] Error installing libwebp
[!] /usr/local/bin/git clone https://chromium.googlesource.com/webm/libwebp /var/folders/nz/sskzslpn3k32jrfwpm0v4c0h0000gn/T/d20200623-83882-1j570yg --template= --single-branch --depth 1 --branch v1.1.0
Cloning into '/var/folders/nz/sskzslpn3k32jrfwpm0v4c0h0000gn/T/d20200623-83882-1j570yg'...
fatal: unable to access 'https://chromium.googlesource.com/webm/libwebp/': Failed to connect to chromium.googlesource.com port 443: Operation timed out
看上去是获取libwebp失败,因为是谷歌源,正常应该是获取不到的,于是进入
~/.cocoapods/repos/master/Specs/1/9/2/libwebp目录,进去打开libwebp.podspec.json
文件,修改它的source,将git配置由"https://chromium.googlesource.com/webm/libwebp"改为"https://github.com/webmproject/libwebp.git",保存然后再进行pod install
可是!并没有任何效果!还是报相同的错误,说明更改根本没有起作用,用的都不是这里配置的source
检查下coacopods的版本
pod --version
1.8.3版本
1.8版本后的coacopods就开始走CDN,CDN将会被作为spec的默认仓库来源
CDN是为加快网络访问速度而被优化的网络覆盖层,形象地称为“网络加速器”
1.8以前
"pod setup"会把 https://github.com/CocoaPods/Specs.git 的master分支,全量下载到~/.cocoapods/repos/master;每次只需pod update,都会更新这个分支。 网络本来就慢,这个库却大的吓人。
1.8以后
使用CDN分发,直接找到三方库的spec地址,直接下载。 所以,不再需要全量下载 https://github.com/CocoaPods/Specs.git 到本地。
如果你已经升级到了1.8,repo master就没有用了,使用下面的代码为你清理出宝贵的硬盘空间吧
pod repo remove master
知道这个知识点那就好办了,我们不要再去master里面找了,去工程对应的trunk里找,cd 到~/.cocoapods/repo/trunk/Specs/1/9/2/libwebp目录,再次修改source,然后再次保存执行pod install
顺利运行!!也可以编译通过