美文网首页图像iOS
iOS 加载webp格式的图片 pod "SDWebImage

iOS 加载webp格式的图片 pod "SDWebImage

作者: 小白e7899 | 来源:发表于2020-01-08 20:58 被阅读0次

    SDWebImage 应该iOS开发中最常用的图片框架之一,用于加载网络图片。

    但是如果图片的格式是webp的格式的,加载图片失败:

    调试错误:

      Error Domain=SDWebImageErrorDomain Code=1001"Downloaded image has 0 pixels

    如果SDWebImage版本为:4.4.3, 另外导入 pod 'SDWebImage/WebP' ,其他代码不需要变, 但是这个库需要引入 libwebp 才能加载webp,导入这个库的可能会出错,应为路径是找不到,这不科学,但很和谐。解决办法可以参考:https://www.jianshu.com/p/f97081867cf6

    操蛋经历:

    因为项目导入最新的 SDCycleScrollView;导入SDCycleScrollView会自动导入SDWebImage,因此把之前:pod 'SDWebImage' 注释掉,

    pod install  其他库都正常,SDWebImage/WebP  出问题了。

    报错:执行 pod update ---pod repo update ---甚至把.xcworkspace和.lock 删除等一番骚操作之后还是不行。libwebp 路径已经换成git路径

    甚至有种卸载cocoapod,重新安装的冲动。

    尝试无数次,每次都是错误:

    [!] CocoaPods could not find compatible versions for pod "SDWebImage/WebP":

      In Podfile:

        SDWebImage/WebP

    Specs satisfying the `SDWebImage/WebP` dependency were found, but they required a higher minimum deployment target.

    为了不影响项目开发进度,我选择轻轻把这个问题放下,现在做其他开发,最后倒回来处理这个问题,以免影响这个项目的进度。实在不行还可以让后台不要返回webp格式的图片。但是这个问题我记载心里,空闲时就跑出来提示我要处理。经历一番屡败屡战+屡战屡败之后,它成为我的“心病”。

    柳暗花明又一村:

    其实我的目的只是要加载webp格式的图片而已,SDWebImage/WebP 只是SDWebImage的辅助工具(插件)可以帮我更快更好的实现,但是现在这个工具出问题,是不是可以考虑用其他工具。之前的失败都是在纠结SDWebImage/WebP的导入问题,在一个死胡同里转圈。重新分析问题:发现根源是升级SDWebImage。那么是不是可以从SDWebImage找到突破口呢?就像下象棋,谁将军找谁才能解决危机。因此重新查看SDWebImage的官方文档。

    功夫不负有心人:

    这个插件列表还有很多其他插件,文档都写的很清楚,比如gif,svg。因为项目里面用了svg格式的图片,稍微看了下,svg的插件最低适配iOS 13,只能放弃了。

    进入这个链接,剩下的都不是问题,如何使用,都写的清清楚楚。

    解决问题:

    pod 'SDWebImageWebPCoder'

    导入文件:

     #import <SDWebImage/SDWebImage.h>

    #import  <SDWebImageWebPCoder/SDWebImageWebPCoder.h>

    实现:这个可以写在AppDelegate.m 文件中。

    SDImageWebPCoder*webPCoder = [SDImageWebPCodersharedCoder];

    [[SDImageCodersManager sharedManager] addCoder:webPCoder];

    运行项目发现webp格式的图片可以被加载了。

    感悟:

    1、碰到事情不要慌张

    2、抓大放小、补缺补漏

    3、仔细分析问题,“重定向”

    相关文章

      网友评论

        本文标题:iOS 加载webp格式的图片 pod "SDWebImage

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