图像iOS

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

2020-01-08  本文已影响0人  小白e7899

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、仔细分析问题,“重定向”

上一篇下一篇

猜你喜欢

热点阅读