SDWebImage支持webp

来源:互联网 发布:修改数据库创建时间 编辑:程序博客网 时间:2024/06/05 20:50

SDWebImage本身就支持webp,但是webp在TC有个蛋疼的问题就是VPN,工程中经常执行pod update 耗时耗力,然后我就直接扔在本地了。

方法

  • 在终端直接配置翻墙直接执行pod update,然后直接拷贝到本地目录直接引入
  • 纯手工操作
    由于我的vpn出问题了么有执行pod update 成功,https://chromium.googlesource.com/webm/libwebp 执行到这儿一直超时。

  • 我直接去https://chromium.googlesource.com/webm/libwebp 地址直接下载工程。

  • 工程中有一个iosbuild.sh脚本,然后直接执行。但是发现执行完的framewrok中并没有这里写图片描述 这几个为红色的文件并没有,但SDWebImage中

/* * This file is part of the SDWebImage package. * (c) Olivier Poitrey <rs@dailymotion.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */#ifdef SD_WEBP#import "UIImage+WebP.h"#import "webp/decode.h"#import "webp/mux_types.h"#import "webp/demux.h"#import "NSImage+WebCache.h"#import "objc/runtime.h"// Callback for CGDataProviderReleasestatic void FreeImageData(void *info, const void *data, size_t size) {    free((void *)data);}

显而易见,报错了,引入的文件没有,但是看一下工程结构。

这里写图片描述 工程中都有该文件,显然在执行iosbuild.sh没有打包进去,那我们做的就非常简单了。

  • 最后一步修改 iosbuild.sh脚本,125行加入别的几个类文件,执行./iosbuild.sh 生成的framework就可以用了。
    cp -a ${SRCDIR}/src/webp/{config,demux,format_constants,mux_types,mux,decode,encode,types}.h ${TARGETDIR}/Headers/${LIPO} -create ${LIBLIST} -output ${TARGETDIR}/WebP

还有一种方法:
YYImage(本身也支持webp,直接使用也没有问题,由于我们之前使用的sd,就没有换了)也支持了https://github.com/ibireme/YYWebImage 直接copy YYWebImage/Vendor/WebP.framework 使用也没有问题。

原创粉丝点击