ios上不显示图片,安卓上却显示该图片,问题分析(webp格式图片)

忽然有一天,后台拿着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 repo
2、终端执行 find ~/.cocoapods/repos/master -iname libwebp
3、复制打印出的地址,放到“前往文件夹...”
4、找到对应版本,打开libwebp.podspec.json文件,把source - git中的url更换成https://github.com/webmproject/libwebp.git,然后保存。最后重新执行pod install

谢谢解决办法来源:https://cloud.tencent.com/developer/article/1337723

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。