今天有個需要,后臺傳的圖片改成webp格式。WebP格式,是谷歌開發(fā)的一種旨在加快圖片加載速度的圖片格式,至于為什么用WebP,感興趣的可以看一下這篇文章WebP 相對于 PNG、JPG 有什么優(yōu)勢???
其他話不多說,直接將怎樣使用SDWebImag加載webp圖片
1 . 把SDWebImage代碼直接加到項目中,為什么直接加到代碼,因為使用pod的會少一些SDWebImage的類

也有人說pod 'SDWebImage/WebP',但是使用這種需要配置vpn和http及https
感興趣的可以看一下這篇iOS SDWebImage加載webP
因為我這條件有限,就沒有嘗試pod 'SDWebImage/WebP',不知道這種好不好用
2.我使用的是直接下載SDWebImage,然后手動導(dǎo)入
3因為iOS使用webp需要webp的支持,也就是WebP.framework,但是我看網(wǎng)上各種下載,我自己試了一下,都不是很好用,基本把能下載的都試了,但是都是各種報錯,直到我都想放棄,把框架改為YYWebImage,因為YYWebImage支持webp是很好做的只需要兩步,感興趣的可以試試
(1)pod 'YYWebImage'
(2)pod 'YYImage/WebP'
然后YYWebImage就可以直接加載webp格式圖片了,如果你的項目框架還沒確定,可以直接使用這種
但是因為我框架已經(jīng)確定,所以,不太好改,當(dāng)時我想了個方案,給UIImageView創(chuàng)建一個分類,在分類中創(chuàng)建SDWebImage的下載圖片方法,在實現(xiàn)中使用YYWebImage下載圖片
3 但是我在此過程中想到為什么YYWebImage支持webp那么順利呢,于是去YYImage的GitHub找了下原因,原來在YYImage中有個文件

其實SDWebImage支持webp也是需要這個的,但是網(wǎng)上方法很多都在header里少了幾個.h文件,導(dǎo)致無法使用,我下載的不知道為啥,有沒有這個.sh文件。。。于是我就想可不可以直接把這個拿來用,結(jié)果證明我的思路正確,確實可以加載出來
總結(jié)
總結(jié)一下過程,
1. 下載SDWebImage,拉到項目中
2.下載YYImage 把里面的WebP.framework拉到項目中

3.?讓SDWebImage支持WebP,設(shè)置如下Build Settings -- Preprocessor Macros , add SD_WEBP=1

然后你就發(fā)現(xiàn)在你的項目中可以直接使用SDWebImage,加載webp圖片了
到此就實現(xiàn)了我的目標(biāo)了

喜歡的點擊下收藏紅心吧0.0