Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. Agrume

Agrume

MITSwift5.8.10

A customizable iOS image viewer written in Swift with support for multiple images, animated GIFs, and SwiftUI.

GitHubGitHub
885 stars123 forks0 contributors

What is Agrume?

Agrume is an open-source iOS image viewer library written in Swift that enables developers to display single images, galleries, and animated GIFs within their apps. It solves the need for a customizable, easy-to-integrate image viewing component with features like background blurring, custom download handlers, and SwiftUI support. The library handles common tasks like image loading, zooming, and dismissal gestures out of the box.

Target Audience

iOS developers building apps that require image viewing capabilities, such as photo galleries, social media apps, or content viewers. It's particularly useful for those using SwiftUI or needing advanced features like animated GIF support and custom overlays.

Value Proposition

Developers choose Agrume for its extensive customization options, native iOS feel, and seamless integration with both UIKit and SwiftUI. Its support for animated GIFs, multiple images, and flexible download handlers sets it apart from simpler image viewers.

Overview

🍋 A lemony fresh iOS image viewer written in Swift.

Use Cases

Best For

  • Adding a full-screen image viewer to a photo gallery app
  • Displaying animated GIFs in an iOS application
  • Building a SwiftUI app that requires image zooming capabilities
  • Creating a customizable image viewer with blurred backgrounds
  • Implementing a synchronized image gallery with a UICollectionView
  • Enabling Live Text interaction for images in iOS 16+ apps

Not Ideal For

  • SwiftUI-first projects needing extensive viewer customization out of the box, as the SwiftUI component currently lacks configuration options.
  • Apps requiring built-in, advanced image caching without integrating third-party libraries like MapleBacon or Kingfisher.
  • Teams looking for a zero-configuration drop-in solution, since features like animated GIFs depend on SwiftyGif and setup can involve custom code.
  • Cross-platform applications targeting Android or web, as Agrume is iOS-only and not designed for other ecosystems.

Pros & Cons

Pros

Native iOS Feel

Provides smooth gestures like drag-to-dismiss and synced scrolling with UICollectionView, creating a polished user experience that matches iOS conventions.

Flexible Customization Options

Allows extensive tweaks such as blurred or colored backgrounds, custom close buttons, and overlay views, enabling developers to match app design closely.

Animated GIF Integration

Built-in support for SwiftyGif handles local and remote animated images seamlessly, a feature not common in basic image viewers.

SwiftUI and UIKit Support

Offers components for both frameworks, including AgrumeView for SwiftUI, making it versatile across different iOS project types.

Live Text Compatibility

Supports iOS 16+ Live Text for interactive text and QR code detection in images, leveraging modern iOS capabilities without extra code.

Cons

Limited SwiftUI Functionality

The README admits that SwiftUI implementation doesn't surface configurations, restricting it to basic use and requiring PRs or workarounds for advanced needs.

Dependency on SwiftyGif

Animated GIF support relies on SwiftyGif, adding an external dependency that increases project complexity and potential bloat.

Setup Overhead for Advanced Features

Implementing custom download handlers or data sources requires additional boilerplate code and understanding of the library's architecture, as shown in the MapleBacon example.

No Built-in Caching

Lacks native image caching; developers must integrate third-party libraries or write custom handlers, which can be time-consuming and error-prone.

Frequently Asked Questions

Quick Stats

Stars885
Forks123
Contributors0
Open Issues0
Last commit4 days ago
CreatedSince 2015

Tags

#ios#ui-component#image-viewer#gif-support#spm#swiftui#cocoapods#image#swift#carthage

Built With

S
SwiftUI
U
UIKit
S
Swift

Included in

iOS51.7kSwift26.0k
Auto-fetched 1 day ago

Related Projects

KingfisherKingfisher

A lightweight, pure-Swift library for downloading and caching images from the web.

Stars24,315
Forks2,756
Last commit4 days ago
GPU ImageGPU Image

An open source iOS framework for GPU-based image and video processing

Stars20,303
Forks4,571
Last commit2 years ago
NukeNuke

Image loading system

Stars8,576
Forks562
Last commit2 days ago
FastImageCacheFastImageCache

iOS library for quickly displaying images while scrolling

Stars8,075
Forks926
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub