Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 1.39 KB

README.md

File metadata and controls

65 lines (44 loc) · 1.39 KB

MIT License

ImagePipelineCombine

An image loading and caching framework for SwiftUI using Combine.

This framework respects ImagePipeline, but cutting off image process feature.

Usage

For SwiftUI

By using RemoteImage confirming to SwiftUI.View, fetch image with URL and cache on memory.

var body: some View {
  RemoteImage(url: url, defaultImage: defaultImage)
}

Using Publisher

  let pipeline = ImagePipeline()
  pipeline.load(url)
    .sink { (completion) in

    } receiveValue: { (image) in
    
    }
  }
  .store(in: &cancellables)  

Supported content types

✅ PNG
✅ JPEG
✅ GIF
✅ WebP

Supported platforms

  • macOS v10.15 and later
  • iOS v13.0 and later
  • tvOS v13.0 and later

Note: watchOS is not supported now since SnapshotTesting is not supported for watchOS.

Work in progress

  • Disk Caching
  • Image Processing

Installation

Only support via Swift package manager installation.

Swift Package Manager

dependencies: [
  .package(url: "https://github.com/d-date/ImagePipelineCombine.git", from: "0.1.0")
]