Skip to content

mikaoj/BSImagePicker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

87c300f · May 23, 2024
Mar 1, 2020
Nov 3, 2023
Mar 1, 2020
Sep 26, 2020
May 25, 2020
May 1, 2024
Jan 18, 2020
Aug 23, 2019
Feb 12, 2020
Jan 18, 2020
May 23, 2024
Nov 3, 2023
Sep 26, 2017
Mar 7, 2024
Jun 30, 2020

Repository files navigation

BSImagePicker

CI Status Version License Platform Carthage compatible

alt text

A multiple image picker for iOS.

Features

  • Multiple selection.
  • Fullscreen preview
  • Switching albums.
  • Supports images, live photos and videos.
  • Customizable.

Usage

Info.plist

To be able to request permission to the users photo library you need to add this to your Info.plist

<key>NSPhotoLibraryUsageDescription</key>
<string>Why you want to access photo library</string>
Image picker
import BSImagePicker

let imagePicker = ImagePickerController()

presentImagePicker(imagePicker, select: { (asset) in
    // User selected an asset. Do something with it. Perhaps begin processing/upload?
}, deselect: { (asset) in
    // User deselected an asset. Cancel whatever you did when asset was selected.
}, cancel: { (assets) in
    // User canceled selection. 
}, finish: { (assets) in
    // User finished selection assets.
})
PHAsset

So you have a bunch of PHAssets now, great. But how do you use them? To get an UIImage from the asset you use a PHImageManager.

import Photos

// Request the maximum size. If you only need a smaller size make sure to request that instead.
PHImageManager.default().requestImage(for: asset, targetSize: PHImageManagerMaximumSize, contentMode: .aspectFit, options: nil) { (image, info) in
    // Do something with image
}

For more example you can clone this repo and look at the example app.

Installation

Cocoapods

Add the following line to your Podfile:

pod "BSImagePicker", "~> 3.1"

Carthage

Add the following line to your Cartfile:

github "mikaoj/BSImagePicker" ~> 3.1

Swift Package Manager

Add it to the dependencies value of your Package.swift.:

dependencies: [
.package(url: "https://github.com/mikaoj/BSImagePicker.git", from: "version-tag")
]

Xamarin

If you are Xamarin developer you can use Net.Xamarin.iOS.BSImagePicker

Contribution

Users are encouraged to become active participants in its continued development — by fixing any bugs that they encounter, or by improving the documentation wherever it’s found to be lacking.

If you wish to make a change, open a Pull Request — even if it just contains a draft of the changes you’re planning, or a test that reproduces an issue — and we can discuss it further from there.

License

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