README.md
SDWebImage logo
Build Status Pod Version Pod Platform Pod License Carthage compatible SwiftPM compatible Mac Catalyst compatible codecov
This library provides an async image downloader with cache support. For convenience, we added categories for UI elements like UIImageView, UIButton, MKAnnotationView.
Features
Categories for UIImageView, UIButton, MKAnnotationView adding web image and cache management
An asynchronous image downloader
An asynchronous memory + disk image caching with automatic cache expiration handling
A background image decompression to avoid frame rate drop
Progressive image loading (including animated image, like GIF showing in Web browser)
Thumbnail image decoding to save CPU && Memory for large images
Extendable image coder to support massive image format, like WebP
Full-stack solution for animated images which keep a balance between CPU && Memory
Customizable and composable transformations can be applied to the images right after download
Customizable and multiple caches system
Customizable and multiple loaders system to expand the capabilities, like Photos Library
Image loading indicators
Image loading transition animation
A guarantee that the same URL won’t be downloaded several times
A guarantee that bogus URLs won’t be retried again and again
A guarantee that main thread will never be blocked
Modern Objective-C and better Swift support
Performances!
Supported Image Formats
Image formats supported by Apple system (JPEG, PNG, TIFF, HEIC, …), including GIF/APNG/HEIC animation
WebP format, including animated WebP (use the SDWebImageWebPCoder project)
Support extendable coder plugins for new image formats like BPG, AVIF. And vector format like PDF, SVG. See all the list in Image coder plugin List
Additional modules and Ecosystem
In order to keep SDWebImage focused and limited to the core features, but also allow extensibility and custom behaviors, during the 5.0 refactoring we focused on modularizing the library. As such, we have moved/built new modules to SDWebImage org.
SwiftUI
SwiftUI is an innovative UI framework written in Swift to build user interfaces across all Apple platforms.
We support SwiftUI by building a brand new framework called SDWebImageSwiftUI, which is built on top of SDWebImage core functions (caching, loading and animation).
The new framework introduce two View structs WebImage and AnimatedImage for SwiftUI world, ImageIndicator modifier for any View, ImageManager observable object for data source. Supports iOS 13+/macOS 10.15+/tvOS 13+/watchOS 6+ and Swift 5.1. Have a nice try and provide feedback!
Coders for additiona