Description
To run the example project, clone the repo, and run pod install from the Example directory first.
FlaneurImagePicker alternatives and similar libraries
Based on the "Image" category.
Alternatively, view FlaneurImagePicker alternatives based on common mentions on social networks and blogs.
-
Kingfisher
A lightweight, pure-Swift library for downloading and caching images from the web. -
SDWebImage
Asynchronous image downloader with cache support as a UIImageView category -
GPU Image
An open source iOS framework for GPU-based image and video processing -
MWPhotoBrowser
A simple iOS photo and video browser with grid view, captions and selections. -
FastImageCache
iOS library for quickly displaying images while scrolling -
TOCropViewController
A view controller for iOS that allows users to crop portions of UIImage objects -
GPUImage2
GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. -
AlamofireImage
AlamofireImage is an image component library for Alamofire -
PINRemoteImage
A thread safe, performant, feature rich image fetcher -
IDMPhotoBrowser
Photo Browser / Viewer inspired by Facebook's and Tweetbot's with ARC support, swipe-to-dismiss, image progress and more -
NYTPhotoViewer
A modern photo viewing experience for iOS. -
FlagKit
Beautiful flag icons for usage in apps and on the web. -
AspectFillFaceAware
An extension that gives UIImageView the ability to focus on faces within an image. -
UIImageColors
Fetches the most dominant and prominent colors from an image. -
SKPhotoBrowser
Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written by swift -
GPUImage3
GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. -
RSKImageCropper
An image cropper / photo cropper for iOS like in the Contacts app with support for landscape orientation. -
ImageSlideshow
Swift image slideshow with circular scrolling, timer and full screen viewer -
TLPhotoPicker
📷 multiple phassets picker for iOS lib. like a facebook -
Lightbox
:milky_way: A convenient and easy to use image viewer for your iOS app -
TinyCrayon
A smart and easy-to-use image masking and cutout SDK for mobile apps. -
MetalPetal
A GPU accelerated image and video processing framework built on Metal. -
EBPhotoPages
A photo gallery for iOS with a modern feature set. Similar features as the Facebook photo browser. -
Twitter Image Pipline
Twitter Image Pipeline is a robust and performant image loading and caching framework for iOS clients -
ImagePickerSheetController
ImagePickerSheetController replicates the custom photo action sheet in iMessage. -
Sharaku
(Not maintained)Image filtering UI library like Instagram. -
YUCIHighPassSkinSmoothing
An implementation of High Pass Skin Smoothing using Apple's Core Image Framework -
SFSafeSymbols
Safely access Apple's SF Symbols using static typing -
DFImageManager
Image loading, processing, caching and preheating -
CTPanoramaView
A library that displays spherical or cylindrical panoramas with touch or motion based controls. -
ImageScout
A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. -
Paparazzo
Custom iOS camera and photo picker with editing capabilities -
ShadowImageView
A apple music cover picture shadow style image library -
AXPhotoViewer
An iOS/tvOS photo gallery viewer, useful for viewing a large (or small!) number of photos. -
OnlyPictures
A simple and flexible way to add source of overlapping circular pictures, currently supports horizontal overlapping or distant pictures with great layout flexibility. -
ComplimentaryGradientView
Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js -
Imaginary
:unicorn: Remote images, as easy as one, two, three. -
SimpleImageViewer
A snappy image viewer with zoom and interactive dismissal transition. -
Viewer
Image viewer (or Lightbox) with support for local and remote videos and images
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of FlaneurImagePicker or a related project?
README
FlaneurImagePicker is a highly customizable iOS image picker that allows users to pick images from different sources (ex: device's library, device's camera, Instagram...), as used in the Flâneur iOS app.
Features
- [x] Support for multiple image sources
- [x] New image sources can easily be added
- [x] Per-source authorization workflow
- [x] Customizable UI and behavior
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Requirements
- iOS 9
- Swift 4
Installation
FlaneurImagePicker is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "FlaneurImagePicker"
Release
To release a version of this pod, please follow these instructions at Cocoapods.
Getting Started
To launch the Flaneur Image Picker:
#import FlaneurImagePicker
let imagePicker = FlaneurImagePickerController(userInfo: nil,
sourcesDelegate: [],
selectedImages: [])
imagePicker.delegate = self
self.present(imagePicker, animated: true, completion: nil)
See the provided example to get a default implementation of the
FlaneurImagePickerControllerDelegate
protocol.
Property List Keys
Depending on the image sources you intend to integrate, you will need to add
values in your app's .plist
file for the different sources:
<key>NSCameraUsageDescription</key>
<string>This application needs to access your camera</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This application needs to access your photo library</string>
<key>InstagramClientID</key>
<string>YOUR_INSTAGRAM_CLIENT_ID</string>
<key>InstagramRedirectURI</key>
<string>YOUR_INSTAGRAM_REDIRECT_URI</string>
Configuration
In order to configure the picker you can use the config object of the picker:
// Changes the cancel button's title
imagePicker.config.cancelButtonTitle = "Cancel"
// Changes the done button's color
imagePicker.config.doneButtonColor = .brown
// Changes the order of the sections
imagePicker.config.sectionsOrderArray = [.imageSources, .pickerView, .selectedImages]
// Changes the title for the one or more imageSources
imagePicker.config.titleForImageSource = [.instagram: "Insta."]
// Changes height for one or more sections
imagePicker.config.heightForSection = [.selectedImages: Int(UIScreen.main.bounds.height / CGFloat(3)), .imageSources: 50]
// You can find all the possible configurations in the documentation
// as well as an example in the Example directory of the repo
...
Instagram Support
To configure instagram, you need to go on the instagram developer website
- Create an account
- Go to the tab "Manage Clients"
- Register a New Client
- Fill the information
- Go back to the tab "Manage Client"
- Click on the button "Manage"
- Go to the tab "Security"
- Uncheck "Disable implicit OAuth"
- Enter a valid redirect URIs (the redirect URI that you choose doesn't really matter as long as it's an https address, you could use https://google.com for example)
- Copy the redirectURI in your .plist file (as explained here)
- Copy the ClientID in your .plist file as explained here)
When you create an account, you are in sandbox mode which means that you can only request the most 20 recents media of the user.
!!! Remember that media means PHOTOS AND VIDEOS, so if you only see 10 photos appearing in the picker, it means either that you only have 10 photos or that the rest of your most recent medias are videos !!!
In oder to test the picker when you're in sandbox mode, you need to add the users as sandbox users, to do so:
- Go to the tab "Sandbox"
- Enter the username of the user
- The user has to go to instagram developer website
- Create a developer account
- Go to Sandbox Invites
- And accept your invitation
- Then and ONLY THEN he can use the Picker
If you want to leave the Sandbox mode, you need to submit your app to instagram, read the documentation to do so: instagram developer website
Documentation
You can find the documentation in the docs folder of the repository.
The master
version of the documentation is also available online.
Author
FlaneurApp, [email protected]
Credits
License
FlaneurImagePicker is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the FlaneurImagePicker README section above
are relevant to that project's source code only.