Swiftpack.co - AnyImageProject/AnyImageKit as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
AnyImageProject/AnyImageKit
A toolbox for pick/edit/capture photo or video. Written in Swift.
.package(url: "https://github.com/AnyImageProject/AnyImageKit.git", from: "0.13.5")

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 12.0+
  • Xcode 13.0+
  • Swift 5.5+

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:

Key Module Info
NSPhotoLibraryUsageDescription Picker
NSPhotoLibraryAddUsageDescription Picker
PHPhotoLibraryPreventAutomaticLimitedAccessAlert Picker Set 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)
NSCameraUsageDescription Capture
NSMicrophoneUsageDescription Capture

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

Version Release Date Xcode Swift iOS
v0.13.4 2021-09-23 13.0 5.5 12.0+
v0.13.3 2021-08-09 12.5 5.4 10.0+
v0.13.2 2021-06-30 12.5 5.4 10.0+
v0.13.1 2021-06-01 12.5 5.4 10.0+
v0.13.0 2021-02-08 12.4 5.3 10.0+
v0.12.0 2020-12-30 12.2 5.3 10.0+
v0.11.0 2020-12-18 12.2 5.3 10.0+
v0.10.0 2020-11-03 12.1 5.3 10.0+
v0.9.0 2020-10-09 12.0 5.3 10.0+

License

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

GitHub

link
Stars: 418
Last commit: 4 days ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Dependencies

Release Notes

Xcode13
3 weeks ago

New Features

  • Use Xcode 13.0 and Kingfisher 7.0.0
  • Set framework minimum deployment target to 12.0

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics