AnyImageKit

A toolbox for pick/edit/capture photo or video. Written in Swift.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

406

Maintenance

Last Commit

1mo ago

Contributors

3

Package

Dependencies

0

License

MIT

Categories

Readme

AnyImageKit

GitHub Actions CocoaPods Compatible Carthage Compatible Platform License

AnyImageKit is a toolbox for picking, editing or capturing photos/videos, written in Swift.

中文说明

Features

  • Modular design
    • Picker
    • Browser
    • Editor
    • Capture
  • Light mode, dark mode or auto mode support
  • Default theme is similar with Wechat
  • Multiple & mix select support
  • Supported media types:
    • Photo
    • GIF
    • Live Photo
    • Video
  • Camera
    • Photo
    • Video
    • Live Photo
    • GIF
    • Fliter Support
  • Edit image ( Technical Preview )
    • Drawing
    • Emoji
    • Input text
    • Cropping
    • Mosaic
    • Rotate
    • Fliter Support
  • Multiple platform support
    • iOS
    • iPadOS
    • Mac Catalyst ( Technical Preview, Not support in editor.)
    • macOS
    • tvOS
  • Internationalization support
    • English (en)
    • Chinese, Simplified (zh-Hans)
    • Turkish (tr)
    • Portuguese(Brazil) (pt-BR)
    • and more... (Pull requests welcome)

Requirements

  • iOS 10.0+
  • Xcode 12.4+
  • Swift 5.3+

Installation

Swift Package Manager

⚠️ Needs Xcode 12.0+ to support resources and localization files

dependencies: [
    .package(url: "https://github.com/AnyImageProject/AnyImageKit.git", .upToNextMajor(from: "0.13.0"))
]

CocoaPods

Add this to Podfile, and then update dependency:

pod 'AnyImageKit'

Carthage

Add this to Cartfile, and then update dependency:

github "AnyImageProject/AnyImageKit"

⚠️ Unsupport in Xcode 12.0, more details

Usage

Prepare

Add these keys to your Info.plist when needed:

KeyModuleInfo
NSPhotoLibraryUsageDescriptionPicker
NSPhotoLibraryAddUsageDescriptionPicker
PHPhotoLibraryPreventAutomaticLimitedAccessAlertPickerSet YES to prevent automatic limited access alert in iOS 14+ (Picker has been adapted with Limited features that can be triggered by the user to enhance the user experience)
NSCameraUsageDescriptionCapture
NSMicrophoneUsageDescriptionCapture

Quick Start

import AnyImageKit

class ViewController: UIViewController {

    @IBAction private func openPicker(_ sender: UIButton) {
        var options = PickerOptionsInfo()
        /*
          Your code, handle custom options
        */
        let controller = ImagePickerController(options: options, delegate: self)
        present(controller, animated: true, completion: nil)
    }
}

extension ViewController: ImagePickerControllerDelegate {

    func imagePickerDidCancel(_ picker: ImagePickerController) {
        /*
          Your code, handle user cancel
        */
        picker.dismiss(animated: true, completion: nil)
    }
    
    func imagePicker(_ picker: ImagePickerController, didFinishPicking result: PickerResult) {
        let images = result.assets.map { $0.image }
        /*
          Your code, handle selected assets
        */
        picker.dismiss(animated: true, completion: nil)
    }
}

Release Notes

VersionRelease DateXcodeSwiftiOS
v0.13.32021-08-0912.55.410.0+
v0.13.22021-06-3012.55.410.0+
v0.13.12021-06-0112.55.410.0+
v0.13.02021-02-0812.45.310.0+
v0.12.02020-12-3012.25.310.0+
v0.11.02020-12-1812.25.310.0+
v0.10.02020-11-0312.15.310.0+
v0.9.02020-10-0912.05.310.0+

License

AnyImageKit is released under the MIT license. See LICENSE for details.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100