iOS——SDWebImage加载WebP图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS——SDWebImage加载WebP图片相关的知识,希望对你有一定的参考价值。

参考技术A 首先直接去 SDWebImage 的仓库,里面直接就有关于WebP的仓库地址

大概率会在 pod install 时报错,因为libwebp这个仓库的地址连接不上。

iOS 利用SDWebImage加载webp图片

参考博文:http://blog.csdn.net/zhangxiweicaochen/article/details/77651049

首先下载  libwebp

http://www.linuxfromscratch.org/blfs/view/svn/general/libwebp.html

下载完成后解压并运行 iosbuild.sh 文件,会生成iosbuild文件夹

工程中有一个iosbuild.sh脚本,然后直接执行。但是发现执行完的framewrok中并没有

/*
 * 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 CGDataProviderRelease
static 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

但是加入重新编译的WebP.framework后,出现如下错误:

 

以上是关于iOS——SDWebImage加载WebP图片的主要内容,如果未能解决你的问题,请参考以下文章

关于SDWebImage加载webp格式图片异常问题

iOS SDWebImage 加载网络图片失败,重新运行才有图片

[iOS开发]SDWebImage源码学习

yywebimage和sdwebimage哪个好

李洪强详细介绍SDWebImage

iOS图片加载框架-SDWebImage解读