Skip to content
Integration of SDWebImage Asynchronous image loading and SwiftUI framework
Swift Ruby Objective-C
Branch: master
Clone or download
dreampiggy Merge pull request #2 from cozzin/optionalURL
Support init with optional url
Latest commit 820c716 Sep 17, 2019


CI Status Version License Platform Carthage compatible SwiftPM compatible

What's for

This is an experimental project for SDWebImage.

It aims to ensure the following function available for users and try to do some experiments for Swift platform.

  • Swift Package Manager integration
  • SwiftUI compatibility
  • Swift source code compatibility

Note we do not guarantee the public API stable for current status. Since Xcode 11 is not get released and SwiftUI is a new platform for us.


  • Xcode 11+
  • iOS 13+
  • macOS 10.15+
  • tvOS 13+
  • watchOS 6+



SDWebImageSwiftUI is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'SDWebImageSwiftUI'


SDWebImageSwiftUI is available through Carthage.

github "SDWebImage/SDWebImageSwiftUI"

Swift Package Manager

SDWebImageSwiftUI is available through Swift Package Manager.

let package = Package(
    dependencies: [
        .package(url: "", from: "0.1")


  • Using WebImage to load network image

It supports the placeholder and detail options control for image loading as SDWebImage.

var body: some View {
    WebImage(url: URL(string: "")!)
        .frame(width: 300, height: 300, alignment: .center)
  • Using AnimatedImage to play animation
var body: some View {
    AnimatedImage(url: URL(string: "")!)
    AnimatedImage(data: try! Data(contentsOf: URL(fileURLWithPath: "/tmp/foo.webp")))

It supports both image url or image data for animated image format. Which use the SDWebImage's Animated ImageView for internal implementation.


To run the example using SwiftUI, following the steps:

cd Example
pod install

Then open the Xcode Workspace to run the demo application.





SDWebImageSwiftUI is available under the MIT license. See the LICENSE file for more info.

You can’t perform that action at this time.