忽然有一天,后台拿着
iOS app
让我看,在安卓上能显示的图片,在苹果手机上竟然加载不出来,加载失败。
之后 ,我就打印出图片的url
,发现在safari
浏览器上加载不出该图片,在谷歌浏览器上就能显示。
在谷歌上下载下来这张图片并保存到本地显示如下所示:
[finder中查看]
双击之后:
“它可能已损坏,或者可能使用了“预览”无法识别的文件格式。”
估计不是一张普通的图片,便去查找原因。这张图其实是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
格式图片,直接点击是不会加载出来的,查看官方说明:
解决办法
故:
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
网友评论