注册

iOS——SDWebImage加载WebP图片

1.确定第三方库

首先直接去SDWebImage的仓库,里面直接就有关于WebP的仓库地址

f968d8e08d047eecd05793948695a575.png


也就是SDWebImageWebPCoder,直接pod 'SDWebImageWebPCoder'就行。(如果项目里没有SDWebImage,需要pod 'SDWebImage')

这里要注意!!!是pod 'SDWebImageWebPCoder'

我搜索SDWebImage加载WebP,权重高的答案都是pod 'SDWebImage/WebP',但是这个仓库我在SDWebImage的repositories里搜索不到,也就是说没有这个仓库,结果如图。

f634c88e80a19809d54544034ada0bed.png

猜测可能之前的旧仓库是这个名字,那些文章也一直没更新,但是权重又高,不免误人子弟了一番。

2.导入SDWebImageWebPCoder

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

1、在终端输入pod repo 查看 cocoapods 在本机的PATH,每个人的路径都可能不一样

0af6bbdcbdaa465cac7ea6bb56189906.png

2、复制trunk的path,command + shift + G 输入上一步的地址,依次点击Specs-->1-->9-->2-->libwebp。(这里要注意有可能你的路径是cocoapods的path)

3、选择报错的版本打开,将source下git地址更改为

https://github.com/webmproject/libwebp.git

9f472405df3b8be1e620be6d8991a367.png

4、pod install(如果还报一样的错,那么是第2步出了问题,去另一个路径改source-git的地址即可)

3.使用SDWebImageWebPCoder

SDImageWebPCoder *webPCoder = [SDImageWebPCoder sharedCoder];
[[SDImageCodersManager sharedManager] addCoder:webPCoder];

NSData *webpData;
UIImage *wimage = [[SDImageWebPCoder sharedCoder] decodedImageWithData:webpData options:nil];
NSData *webpData;
[UIImage sd_imageWithWebPData:webpData];

经测试以上两种写法都能成功加载webp图片

转自:https://www.jianshu.com/p/74fab9c7de77

0 个评论

要回复文章请先登录注册