忽然有一天,后台拿着
iOS app让我看,在安卓上能显示的图片,在苹果手机上竟然加载不出来,加载失败。
之后 ,我就打印出图片的url,发现在safari浏览器上加载不出该图片,在谷歌浏览器上就能显示。
在谷歌上下载下来这张图片并保存到本地显示如下所示:

[finder中查看]
双击之后:

“它可能已损坏,或者可能使用了“预览”无法识别的文件格式。”
估计不是一张普通的图片,便去查找原因。这张图其实是webp格式的图片:

webp图片介绍
一、支持webp图片显示的方案:在SDWebImage 中能看到了这段话:

SDWebImage
故pod 所需第三方:
pod 'SDWebImage'
pod 'SDWebImageWebPCoder' #webP格式的图片
pod install时候,会报错。报错误信息以及解决办法见第三部分。安装成功之后,继续向下操作⏬
待pod install安装之后,查看SDWebImageWebPCoder官方使用说明, 是在sd_setImageWithURL:之前加上一段代码即可。
// Add coder
SDImageWebPCoder *webPCoder = [SDImageWebPCoder sharedCoder];
[[SDImageCodersManager sharedManager] addCoder:webPCoder];
// WebP image loading
UIImageView *imageView;
NSURL *webpURL;
[imageView sd_setImageWithURL:webpURL];
ok, 告一段落。。。。
二、 图片浏览器YBImageBrowser打不开webp格式的图片
我们app点击图片会有放大到原图浏览的功能,用的是YBImageBrowser,对于webp格式图片,直接点击是不会加载出来的,查看官方说明:

YBImageBrowser说明

解决办法
故:
pod 'YBImageBrowser'
pod 'YYImage/WebP' #WebP格式图片
三、加入pod 'SDWebImageWebPCoder', webP格式的图片之后,pod install会安装不成功,报错:

企业微信截图_923c7ea5-6c98-4a34-8b50-419a6fb31257.png
libwebp的地址是谷歌的.....解决办法:
1、打开终端 执行
pod repo2、终端执行
find ~/.cocoapods/repos/master -iname libwebp3、复制打印出的地址,放到“前往文件夹...”
4、找到对应版本,打开
libwebp.podspec.json文件,把source - git中的url更换成https://github.com/webmproject/libwebp.git,然后保存。最后重新执行pod install
谢谢解决办法来源:https://cloud.tencent.com/developer/article/1337723
