A modern, zero-dependency iOS photo picker with a customizable image editor for single or multiple selection.
FMPhotoPicker is an open-source iOS library that provides a fully-featured photo and video picker with an integrated image editor. It allows developers to add media selection capabilities to their apps without relying on external dependencies, offering both single and multiple selection modes alongside editing tools like filters and cropping.
iOS developers building apps that require in-app photo or video selection and basic image editing, such as social media apps, content creation tools, or any application needing media upload functionality.
Developers choose FMPhotoPicker for its zero-dependency architecture, high degree of customizability, and modern UI, which simplifies integrating a professional-grade media picker while maintaining full control over the user experience and design.
A modern, simple and zero-dependency photo picker with an elegant and customizable image editor
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Eliminates external library conflicts and simplifies integration, as emphasized in the philosophy and supported by SwiftPM, Carthage, and CocoaPods installation.
Allows developers to define custom filters, cropping options, alert controllers, and language strings via protocols like FMFilterable and FMCroppable, detailed in the customization section.
Includes filter application and cropping tools with force crop mode for mandatory aspect ratios, providing editing capabilities without additional libraries, as shown in the demo gifs.
Features smooth transitions, rounded previews, and batch selection with swipe gestures, offering a polished experience comparable to native iOS apps.
Offers extensive options for media types, selection limits, and UI behaviors through a comprehensive configuration object with parameters like mediaTypes and selectMode.
The editor only supports basic filters and cropping, lacking advanced tools like adjustments, brushes, or text overlays, which might require additional libraries.
Adding custom filters or crops requires implementing protocols like FMFilterable, which can be more involved than using simpler configuration methods, potentially steepening the learning curve.
Only supports iOS 9.0+, so projects needing cross-platform media pickers must integrate separate solutions for other platforms like Android.
Designed for UIKit, requiring additional bridging or workarounds for SwiftUI projects, which isn't mentioned in the README as a built-in feature.