什么是webp图片
WebP最初在2010年发布,目标是减少文件大小,但达到和JPEG格式相同的图片质量,希望能够减少图片档在网络上的发送时间,由谷歌研发,在安卓上的支持也蛮好的,从安卓4.0开始就已经原生支持了,但在iOS系统目前不支持webp图片,还是需要我们做些特殊处理的。
1.SDWebImage(支持 WebP)的安装与实现
pod 'SDWebImage', '4.4.2' #图片加载
pod 'SDWebImage/WebP' #SDWebImage支持.WebP格式图片
SDWebImage(支持 WebP)安装内置了libwebp源码库,并在UIImage+WebP.h中封装了WebP格式的解码功能。通过 SDWebImage的常规用法即可展示WebP 格式的图片。
2.安装可能遇到的问题:
2.1在执行pod install后终端提示Error installing libwebp,如图:
这是由于Pods提供的libwebp的资源地址无法连接,最简单有效的修改方式就是修改libwebp的资源地址,再执行pod install即可解决。如图:
2.2 解决步骤
- 终端依次执行下面前三行命令,获得libwebp版本文件文件夹
pod repo #查看 cocoapods 本地库路径
find xxx -iname libwebp #在本地库中找到libwebp版本文件文件夹
cd xxx #进入libwebp版本文件文件夹
ls -l #查看所支持的版本
1.前往libwebp版本文件文件夹,找到对应的版本文件夹(如图中报错的v0.6.1)
2.* 打开libwebp.podspec.json文件,并修改文件中source的值为https://github.com/webmproject/libwebp.git
3.终端重新进入工程文件夹下执行pod install即可
详细流程
1.查看Mac中cocoapods 本地库路径:pod repo
Mac-mini:~ ammk$ pod repo
master
- Type: git (master)
- URL: https://github.com/CocoaPods/Specs.git
- Path: /Users/ammk/.cocoapods/repos/master
1 repo
- 在Path中找到libwebp对应的文件夹: find /Users/ammk/.cocoapods/repos/master -iname libwebp
Mac-mini:~ ammk$ find /Users/ammk/.cocoapods/repos/master -iname libwebp
/Users/ammk/.cocoapods/repos/master/Specs/1/9/2/libwebp
Mac-mini:~ ammk$
3.进入libwebp版本文件文件夹,可查看所支持的版本
Mac-mini:~ ammk$ cd /Users/ammk/.cocoapods/repos/master/Specs/1/9/2/libwebp
Mac-mini:libwebp ammk$ ls -l
total 0
drwxr-xr-x 3 ammk staff 96 4 5 2017 0.4.1
drwxr-xr-x 3 ammk staff 96 4 5 2017 0.4.2
drwxr-xr-x 3 ammk staff 96 4 5 2017 0.4.3
drwxr-xr-x 3 ammk staff 96 4 5 2017 0.4.4
drwxr-xr-x 3 ammk staff 96 4 5 2017 0.5.0
drwxr-xr-x 3 ammk staff 96 4 5 2017 0.5.1
drwxr-xr-x 3 ammk staff 96 8 9 2017 0.5.2
drwxr-xr-x 3 ammk staff 96 8 9 2017 0.6.0
drwxr-xr-x 3 ammk staff 96 10 29 10:06 0.6.1
drwxr-xr-x 3 ammk staff 96 10 30 11:17 1.0.0
4.前往文件夹,找到对应的版本文件夹,修改文件中的source值
( 点击桌面 前往-前往文件夹-输入/Users/ammk/.cocoapods/repos/master/Specs/1/9/2/libwebp)即可
5.再cd到原程序文件下,重新pod install。
注:如果pod install成功回到项目中报错。检查SDWebImage的版本号。本人亲测低版本的SDWebImage是会报错。如果报错把SDWebImage的版本号更新。