{"id":13462662,"url":"https://github.com/AnyImageKit/AnyImageKit","last_synced_at":"2025-03-25T05:32:12.121Z","repository":{"id":41111820,"uuid":"208713372","full_name":"AnyImageKit/AnyImageKit","owner":"AnyImageKit","description":"A toolbox for pick/edit/capture photo or video. Written in Swift. ","archived":false,"fork":false,"pushed_at":"2024-04-19T09:31:26.000Z","size":7258,"stargazers_count":716,"open_issues_count":7,"forks_count":99,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-05-16T19:03:36.624Z","etag":null,"topics":["capture","crop-image","drawing","editor","gif","ios","multiple-photos","swift5","uiimagepickercontroller","video"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnyImageKit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-16T04:59:59.000Z","updated_at":"2024-07-31T13:08:30.987Z","dependencies_parsed_at":"2023-07-13T08:24:58.507Z","dependency_job_id":"895b528f-ceed-4714-96f8-717dc3ff338a","html_url":"https://github.com/AnyImageKit/AnyImageKit","commit_stats":null,"previous_names":["anyimageproject/anyimagekit","anyimageproject/anyimagepicker"],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnyImageKit%2FAnyImageKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnyImageKit%2FAnyImageKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnyImageKit%2FAnyImageKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnyImageKit%2FAnyImageKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnyImageKit","download_url":"https://codeload.github.com/AnyImageKit/AnyImageKit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245407532,"owners_count":20610226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["capture","crop-image","drawing","editor","gif","ios","multiple-photos","swift5","uiimagepickercontroller","video"],"created_at":"2024-07-31T13:00:18.391Z","updated_at":"2025-03-25T05:32:12.105Z","avatar_url":"https://github.com/AnyImageKit.png","language":"Swift","funding_links":[],"categories":["Swift","video","OOM-Leaks-Crash","Metal/Camera/Image"],"sub_categories":["PhotoViewer"],"readme":"![AnyImageKit](https://github.com/AnyImageProject/AnyImageProject.github.io/raw/master/Resources/TitleMap@2x.png)\n\n[![GitHub Actions](https://github.com/AnyImageKit/AnyImageKit/workflows/build/badge.svg?branch=master)](https://github.com/AnyImageKit/AnyImageKit/actions?query=workflow%3Abuild)\n[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/AnyImageKit.svg)](https://cocoapods.org/pods/AnyImageKit)\n[![Platform](https://img.shields.io/cocoapods/p/AnyImageKit.svg?style=flat)](./)\n[![License](https://img.shields.io/cocoapods/l/AnyImageKit.svg?style=flat)](https://raw.githubusercontent.com/AnyImageKit/AnyImageKit/master/LICENSE)\n\n`AnyImageKit` is a toolbox for picking, editing or capturing photos/videos, written in Swift. \n\n\u003e [中文说明](./Documentation/README_CN.md)\n\n## Features\n\n- [x] Modular design\n    - [x] Picker\n    - [ ] Browser\n    - [x] Editor\n    - [x] Capture\n- [x] Light mode, dark mode or auto mode support\n- [x] Default theme is similar with Wechat \n- [x] Multiple \u0026 mix select support\n- [x] Supported media types:\n    - [x] Photo\n    - [x] GIF\n    - [x] Live Photo\n    - [x] Video\n- [x] Camera\n    - [x] Photo\n    - [x] Video\n    - [ ] Live Photo\n    - [ ] GIF\n    - [ ] Filter Support\n- [ ] Edit image ( Technical Preview )\n    - [x] Drawing\n    - [ ] Emoji\n    - [x] Input text\n    - [x] Cropping\n    - [x] Mosaic\n    - [x] Rotate\n    - [ ] Filter Support\n- [x] Multiple platform support\n    - [x] iOS\n    - [x] iPadOS\n    - [x] Mac Catalyst ( Technical Preview, Not support in editor.)\n    - [ ] macOS\n    - [ ] tvOS\n- [x] Internationalization support\n    - [x] English (en)\n    - [x] Chinese, Simplified (zh-Hans)\n    - [x] Turkish (tr)\n    - [x] Portuguese(Brazil) (pt-BR)\n    - [ ] and more... (Pull requests welcome)\n\n## Requirements\n\n- iOS 13.0+\n- Xcode 14.1+\n- Swift 5.7+\n\n## Installation\n\n### [Swift Package Manager](https://swift.org/package-manager/)\n\n⚠️ Needs Xcode 12.0+ to support resources and localization files\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/AnyImageKit/AnyImageKit.git\", .upToNextMajor(from: \"0.18.2\"))\n]\n```\n\n### [CocoaPods](https://guides.cocoapods.org/using/using-cocoapods.html)\n\nAdd this to `Podfile`, and then update dependency:\n\n```ruby\npod 'AnyImageKit'\n```\n\n## Usage\n\n### Prepare\n\nAdd these keys to your Info.plist when needed:\n\n| Key | Module | Info |\n| ----- | ----  | ---- |\n| NSPhotoLibraryUsageDescription | Picker |  |\n| NSPhotoLibraryAddUsageDescription | Picker |  |\n| 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) |\n| NSCameraUsageDescription | Capture |  |\n| NSMicrophoneUsageDescription | Capture |  |\n\n### Quick Start\n\n```swift\nimport AnyImageKit\n\nclass ViewController: UIViewController {\n\n    @IBAction private func openPicker(_ sender: UIButton) {\n        var options = PickerOptionsInfo()\n        /*\n          Your code, handle custom options\n        */\n        let controller = ImagePickerController(options: options, delegate: self)\n        present(controller, animated: true, completion: nil)\n    }\n}\n\nextension ViewController: ImagePickerControllerDelegate {\n\n    func imagePickerDidCancel(_ picker: ImagePickerController) {\n        /*\n          Your code, handle user cancel\n        */\n        picker.dismiss(animated: true, completion: nil)\n    }\n    \n    func imagePicker(_ picker: ImagePickerController, didFinishPicking result: PickerResult) {\n        let images = result.assets.map { $0.image }\n        /*\n          Your code, handle selected assets\n        */\n        picker.dismiss(animated: true, completion: nil)\n    }\n}\n```\n\n## Release Notes\n\n### Latest version\n\n| Version | Release Date | Xcode | Swift | iOS |\n| ---- | ----  | ---- | ---- | ---- |\n| [v0.18.2](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0182) | 2025-02-18 | 16.0 | 5.10 | 13.0+ |\n| [v0.18.1](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0181) | 2024-10-09 | 16.0 | 5.10 | 13.0+ |\n| [v0.18.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0180) | 2024-10-08 | 16.0 | 5.10 | 12.0+ |\n\n\u003cdetails\u003e\n   \u003csummary\u003eHistory version\u003c/summary\u003e  \n\n| Version | Release Date | Xcode | Swift | iOS |\n| ---- | ----  | ---- | ---- | ---- |\n| [v0.17.2](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0172) | 2024-01-24 | 15.2 | 5.9 | 12.0+ |\n| [v0.17.1](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0171) | 2024-01-12 | 15.2 | 5.9 | 12.0+ |\n| [v0.17.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0170) | 2023-10-18 | 15.0 | 5.9 | 12.0+ |\n| [v0.16.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0160) | 2023-05-09 | 14.3 | 5.8 | 12.0+ |\n| [v0.15.1](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0151) | 2022-12-15 | 14.1 | 5.7 | 12.0+ |\n| [v0.15.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0150) | 2022-11-11 | 14.1 | 5.7 | 12.0+ |\n| [v0.14.6](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0146) | 2022-07-06 | 13.4.1 | 5.6 | 13.0+ |\n| [v0.14.5](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0145) | 2022-07-05 | 13.4.1 | 5.6 | 13.0+ |\n| [v0.14.4](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0144) | 2022-04-06 | 13.3 | 5.5 | 12.0+ |\n| [v0.14.3](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0143) | 2021-12-28 | 13.2 | 5.5 | 12.0+ |\n| [v0.14.2](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0142) | 2021-12-16 | 13.2 | 5.5 | 12.0+ |\n| [v0.14.1](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0141) | 2021-11-23 | 13.1 | 5.5 | 12.0+ |\n| [v0.14.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0140) | 2021-11-22 | 13.1 | 5.5 | 12.0+ |\n| [v0.13.5](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0135) | 2021-10-15 | 13.0 | 5.5 | 12.0+ |\n| [v0.13.4](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0134) | 2021-09-23 | 13.0 | 5.5 | 12.0+ |\n| [v0.13.3](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0133) | 2021-08-09 | 12.5 | 5.4 | 10.0+ |\n| [v0.13.2](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0132) | 2021-06-30 | 12.5 | 5.4 | 10.0+ |\n| [v0.13.1](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0131) | 2021-06-01 | 12.5 | 5.4 | 10.0+ |\n| [v0.13.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0130) | 2021-02-08 | 12.4 | 5.3 | 10.0+ |\n| [v0.12.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0120) | 2020-12-30 | 12.2 | 5.3 | 10.0+ |\n| [v0.11.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0110) | 2020-12-18 | 12.2 | 5.3 | 10.0+ |\n| [v0.10.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#0100) | 2020-11-03 | 12.1 | 5.3 | 10.0+ |\n| [v0.9.0](https://github.com/AnyImageKit/AnyImageKit/blob/master/Documentation/RELEASE_NOTE.md#090) | 2020-10-09 | 12.0 | 5.3 | 10.0+ |\n\n\u003c/details\u003e\n\n## License\n\nAnyImageKit is released under the MIT license. See [LICENSE](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAnyImageKit%2FAnyImageKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAnyImageKit%2FAnyImageKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAnyImageKit%2FAnyImageKit/lists"}