{"id":19762661,"url":"https://github.com/opensooq/abra","last_synced_at":"2025-04-30T14:31:08.914Z","repository":{"id":56901422,"uuid":"112615968","full_name":"OpenSooq/Abra","owner":"OpenSooq","description":"Your next favorite image and video picker from Gallery for Swift","archived":false,"fork":false,"pushed_at":"2017-12-04T13:59:58.000Z","size":8956,"stargazers_count":19,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-03-14T16:43:38.989Z","etag":null,"topics":["gallery","image-picker","swift","video-picker"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenSooq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-30T13:41:59.000Z","updated_at":"2020-08-17T02:50:47.000Z","dependencies_parsed_at":"2022-08-20T18:20:42.106Z","dependency_job_id":null,"html_url":"https://github.com/OpenSooq/Abra","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSooq%2FAbra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSooq%2FAbra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSooq%2FAbra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSooq%2FAbra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenSooq","download_url":"https://codeload.github.com/OpenSooq/Abra/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224214135,"owners_count":17274524,"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":["gallery","image-picker","swift","video-picker"],"created_at":"2024-11-12T04:06:10.366Z","updated_at":"2024-11-12T04:06:11.659Z","avatar_url":"https://github.com/OpenSooq.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cimg src=\"Screenshots/Banner.png\" alt=\"Gallery Banner\" align=\"center\" /\u003e\n\n`AbraGallery` is a small library for images \u0026 videos picking. It provides video recording too.\n\n### Usage\n\n`GalleryController` is the main entry point, just instantiate and set the delegate:\n\n```swift\nlet gallery = GalleryController()\ngallery.delegate2 = self\npresent(gallery, animated: true, completion: nil)\n```\n\n### Delegate\n\nThe `GalleryControllerDelegate2` requires you to implement some delegate methods in order to interact with the `GalleryController`\n\n```swift\npublic protocol GalleryControllerDelegate2: class {\n  func galleryController(_ controller: GalleryController, requestLightbox images: [UIImage])\n  func galleryControllerDidCancel(_ controller: GalleryController)\n  func galleryController(_ controller: GalleryController, didSelectAssets assets: [PHAsset])\n}\n```\n\n### Permission\n\n`Gallery` handles permissions for you. It checks and askes for photo and camera usage permissions at first launch. As of iOS 10, we need to explicitly declare usage descriptions in plist files\n\n```xml\n\u003ckey\u003eNSCameraUsageDescription\u003c/key\u003e\n\u003cstring\u003eThis app requires access to camera\u003c/string\u003e\n\u003ckey\u003eNSPhotoLibraryUsageDescription\u003c/key\u003e\n\u003cstring\u003eThis app requires access to photo library\u003c/string\u003e\n```\nYou may disable permissions flow by the config `Gallery.Config.Permission.shouldCheckPermission = false`\n\n### Configuration\n\nThere are lots of customization points in `Config` structs. For example\n\n```swift\nConfig.Permission.image = UIImage(named: ImageList.Gallery.cameraIcon)\nConfig.Font.Text.bold = UIFont(name: FontList.OpenSans.bold, size: 14)!\nConfig.Camera.recordLocation = true\nConfig.Camera.recordMode = .video                  // to enable video recording.\nConfig.VideoRecording.maxBytesCount = 1024         // to set the maximum size of video.\nConfig.VideoRecording.maxLengthInSeconds = .video  // to set the max length of video.\nConfig.Selection.mode = [.photo, .camera, .video]  // to enable/disable Photo, Camera and Video tabs.\nConfig.SessionPreset.quality = AVCaptureSessionPresetHigh // to define the quality of recorded video.\n\n... and many many more at Config file.\n```\n\n## Installation\n\n**AbraGallery** is available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your Podfile:\n\n```ruby\npod 'AbraGallery'\n```\n\n**AbraGallery** can also be installed manually. Just download and drop `Sources` folders in your project.\n\n## Author \u0026 Contact\n\nOpenSooq, ramzi.q@opensooq.com, damian.k@opensooq.com\n\nAbra Gallery is build at the top of [Gallery](https://github.com/blueimp/Gallery) project.\n\n## Contributing\n\nWe would love you to contribute to **AbraGallery**, check the [CONTRIBUTING](https://github.com/hyperoslo/Gallery/blob/master/CONTRIBUTING.md) file for more info.\n\n## License\n\n**AbraGallery** is available under the MIT license. See the [LICENSE](https://github.com/hyperoslo/Gallery/blob/master/LICENSE.md) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensooq%2Fabra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensooq%2Fabra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensooq%2Fabra/lists"}