美文网首页
ios上不显示图片,安卓上却显示该图片,问题分析(webp格式图

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

作者: DSA碼侬 | 来源:发表于2019-09-30 14:20 被阅读0次

    忽然有一天,后台拿着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

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/oswfpctx.html