{"id":28388659,"url":"https://github.com/igooor-bb/justphotopicker","last_synced_at":"2026-03-05T11:03:14.431Z","repository":{"id":56916999,"uuid":"386703237","full_name":"igooor-bb/JustPhotoPicker","owner":"igooor-bb","description":"Simple and minimalistic photo picker for iOS written in Swift","archived":false,"fork":false,"pushed_at":"2022-08-24T21:50:03.000Z","size":7329,"stargazers_count":11,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-31T08:36:25.096Z","etag":null,"topics":["cocoapods","customizable","gallery","imagepicker","images","ios","localization","localized","minimalistic","package","photopicker","photos","picker","swift","swiftui"],"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/igooor-bb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-16T16:39:40.000Z","updated_at":"2024-06-17T07:05:09.000Z","dependencies_parsed_at":"2022-08-20T21:20:30.901Z","dependency_job_id":null,"html_url":"https://github.com/igooor-bb/JustPhotoPicker","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/igooor-bb/JustPhotoPicker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooor-bb%2FJustPhotoPicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooor-bb%2FJustPhotoPicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooor-bb%2FJustPhotoPicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooor-bb%2FJustPhotoPicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igooor-bb","download_url":"https://codeload.github.com/igooor-bb/JustPhotoPicker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igooor-bb%2FJustPhotoPicker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262212705,"owners_count":23275973,"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":["cocoapods","customizable","gallery","imagepicker","images","ios","localization","localized","minimalistic","package","photopicker","photos","picker","swift","swiftui"],"created_at":"2025-05-30T23:10:49.254Z","updated_at":"2025-11-08T01:02:43.603Z","avatar_url":"https://github.com/igooor-bb.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JustPhotoPicker\n\n\u003cp align=\"left\"\u003e\n    \u003cimg src=\"https://img.shields.io/cocoapods/p/JustPhotoPicker\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/igooor-bb/JustPhotoPicker\" /\u003e\n    \u003cimg src=\"https://img.shields.io/cocoapods/v/JustPhotoPicker\" /\u003e\n\u003c/p\u003e\n\nJustPhotoPicker is a simple and minimalistic photo picker for iOS written in Swift.\n\nInitially, the project was made for personal purposes, but it was decided to make it publicly available for use and contribution in improvement.\n\n\u003cimg src=\"./Images/demo.png\" alt=\"Demo\"/\u003e\n\nSource of sample images in the gallery: [The Verge](https://www.theverge.com/pages/wallpapers)\n\n## Contents\n\n-   [JustPhotoPicker](#justphotopicker)\n    -   [Contents](#contents)\n    -   [Requirements](#requirements)\n    -   [Installation](#installation)\n        -   [Using CocoaPods](#using-cocoapods)\n        -   [Using Swift Package Manager](#using-swift-package-manager)\n    -   [Info.plist](#infoplist)\n    -   [Usage in UIKit](#usage-in-uikit)\n        -   [Configuration](#configuration)\n        -   [Processing the result](#processing-the-result)\n            -   [Using the delegate](#using-the-delegate)\n            -   [Using the closure](#using-the-closure)\n        -   [Display](#display)\n    -   [Usage in SwiftUI](#usage-in-swiftui)\n    -   [Configuration properties](#configuration-properties)\n    -   [Localization](#localization)\n    -   [Contribution](#contribution)\n    -   [License](#license)\n\n## Requirements\n\n-   iOS/iPadOS 13.0+\n-   Xcode 11.0+\n\n## Installation\n\n### Using CocoaPods\n\nYou can use [CocoaPods](http://cocoapods.org/) to install `JustPhotoPicker` by adding folowing lines to your `Podfile`:\n\n```ruby\nplatform :ios, '13.0'\nuse_frameworks!\n\ntarget 'ApplicationName' do\n    pod 'JustPhotoPicker'\nend\n```\n\nThen just write the command in the terminal to install:\n\n```bash\n$ pod install\n```\n\n### Using Swift Package Manager\n\nYou can use Swift Package Manager to install JustPhotoPicker using Xcode:\n\n1.  Open your project in Xcode\n2.  Open \"File\" -\u003e \"Swift Packages\" -\u003e \"Add Package Dependency...\"\n3.  Paste the repository URL: \u003chttps://github.com/igooor-bb/JustPhotoPicker\u003e\n4.  Click \"Next\" a couple of times and finish adding\n\n## Info.plist\n\nTo make your application have access to photos, add the following entity to the file `Info.plist`:\n\n-   Privacy - Photo Library Usage Description\n\n```xml\n\u003ckey\u003eNSPhotoLibraryUsageDescription\u003c/key\u003e\n\u003cstring\u003eSome description\u003c/string\u003e\n```\n\n## Usage in UIKit\n\nFirst of all, import the module `JustPhotoPicker` into a file with your view controller:\n\n```swift\nimport JustPhotoPicker\n```\n\n### Configuration\n\nYou can change some visual and logical parameters using the `JustPhotoPickerConfiguration` structure. Set all the options you want and create a picker with configuration as a parameter:\n\n```swift\nvar config = JustPhotoPickerConfiguration()\nconfig.selectionLimit = 2\nconfig.isSelectionRequired = true\n// Configuration vibes...\nlet photoPicker = JustPhotoPicker(configuration: config)\n```\n\n### Processing the result\n\n#### Using the delegate\n\nTo obtain the selected photos or the fact that the photos were not selected, the `JustPhotoPickerDelegate` protocol can be used. \n\n1.  Setup a delegate for your photo picker:\n\n```swift\nphotoPicker.photoPickerDelegate = self\n```\n\n2.  Make your view controller conform the delegate protocol and implement both required methods:\n\n```swift\nextension ViewController: JustPhotoPickerDelegate {\n  func didSelect(with photoPicker: JustPhotoPicker, images: [UIImage]) {\n    print(\"Selected \\(image.count) images\")\n  }\n\n  func didNotSelect(with photoPicker: JustPhotoPicker) {\n    print(\"Did not select any images\")\n  }\n}\n```\n\n#### Using the closure\n\nYou also can use `didFinishPicking` closure of `JustPhotoPicker` class to obtain the selected photos:\n\n```swift\nlet photoPicker = JustPhotoPicker(configuration: config)\nphotoPicker.didFinishPicking = { images, canceled in\n  if canceled {\n    print(\"Did not select any images\")\n    return\n  }\n\n  print(\"Selected \\(images.count) images\")\n}\n```\n\nThe closure takes two parameters. The first one is either a list of selected images or an empty list in case if a user did not select any. The second parameter is a boolean flag indicating whether a user canceled the selection.\n\n### Display\n\nWhen you are ready to start picking photos, display the picker in the standard way:\n\n```swift\npresent(photoPicker, animated: true)\n```\n\n## Usage in SwiftUI\n\nRecently we added SwiftUI support for JustPhotoPicker. All you need to do is to call `JustPhotoPickerView` in the same way in the body of your SwiftUI:\n\n```swift\nVStack {\n  Button(\"Select photo\") {\n    showingPicker = true\n  }\n}\n.sheet(isPresented: $showingPicker) {\n  JustPhotoPickerView(configuration: pickerConfig)\n    .onFinish { images in\n      print(\"Selected \\(images.count) images\")\n    }\n    .onCancel {\n      print(\"Did not select any images\")\n    }\n}\n```\n\nLearn more [here](Example/JustPhotoPickerSwiftUI/JustPhotoPickerSwiftUI/ContentView.swift)\n\n## Configuration properties\n\nThe following are some of the possible settings for the picker, which you can also find in the `JustPhotoPickerConfiguration` structure:\n\n```swift\nconfig.selectionLimit = 2\nconfig.isSelectionRequired = true\nconfig.showsBottomDescriptionLabel = true\nconfig.portraitModeCellsInRow = 3\nconfig.landscapeModeCellsInRow = 6\nconfig.backgroundColor = .white\nconfig.accentColor = .systemPink\nconfig.albumThumbnailCornerRaduis = 5\nconfig.photoCardCornerRaduis = 0\nconfig.startsOnScreen = .photos\nconfig.hidesEmptyAlbumLabel = true\nconfig.showsPhotoPreview = true\nconfig.allowsPhotoPreviewZoom = false\n// Configuration vibes...\n```\n\n## Localization\n\nJustPhotoPicker is now translated into the following languages:\n\n-   English (Base)\n-   German\n-   French\n-   Russian\n-   Italian\n-   Spanish\n-   Romanian\n-   Czech\n-   Polish\n-   Ukrainian\n\nIf you want to add or correct localization, you are welcome to [contribute](#contribution).\n\n## Contribution\n\nTo contribute, use the follow \"fork-and-pull\" git workflow:\n\n1.  Fork the repository on github\n2.  Clone the project to your own machine\n3.  Commit changes to your own branch\n4.  Push your work back up to your fork\n5.  Submit a pull request so that I can review your changes\n\n*NOTE: Be sure to merge the latest from \"upstream\" before making a pull request!*\n\n## License\n\nJustPhotoPicker is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figooor-bb%2Fjustphotopicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figooor-bb%2Fjustphotopicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figooor-bb%2Fjustphotopicker/lists"}