{"id":16835211,"url":"https://github.com/hackiftekhar/iqmediapickercontroller","last_synced_at":"2025-04-05T05:05:38.929Z","repository":{"id":19592239,"uuid":"22842670","full_name":"hackiftekhar/IQMediaPickerController","owner":"hackiftekhar","description":"Audio Image Video Picker Controller","archived":false,"fork":false,"pushed_at":"2019-08-14T10:23:26.000Z","size":4383,"stargazers_count":497,"open_issues_count":22,"forks_count":105,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-03-28T17:21:48.996Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","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/hackiftekhar.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}},"created_at":"2014-08-11T14:49:57.000Z","updated_at":"2025-01-03T18:05:17.000Z","dependencies_parsed_at":"2022-08-20T20:50:39.652Z","dependency_job_id":null,"html_url":"https://github.com/hackiftekhar/IQMediaPickerController","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackiftekhar%2FIQMediaPickerController","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackiftekhar%2FIQMediaPickerController/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackiftekhar%2FIQMediaPickerController/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackiftekhar%2FIQMediaPickerController/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackiftekhar","download_url":"https://codeload.github.com/hackiftekhar/IQMediaPickerController/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289426,"owners_count":20914464,"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":[],"created_at":"2024-10-13T12:09:18.496Z","updated_at":"2025-04-05T05:05:38.910Z","avatar_url":"https://github.com/hackiftekhar.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/hackiftekhar/IQMediaPickerController/raw/master/MediaPickerController/Images.xcassets/AppIcon.appiconset/Icon-60.png\" alt=\"Icon\"/\u003e\n\u003c/p\u003e\n\u003cH1 align=\"center\"\u003eIQMediaPickerController\u003c/H1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/hackiftekhar/IQMediaPickerController.svg\"\n  alt=\"GitHub license\"/\u003e\n\n\n   **IQMediaPickerController** allows user to capture **Videos, Images and Audio** using **AVFoundation** framework. It also allows user to pick **Videos, Images and Audio** from the iPhone photo and media library.\n   **IQMediaPickerController** contains 3 library **IQMediaCaptureController, IQAssetsPickerController \u0026 IQAudioPickerController**. All libraries are separate from the others, so if you want to integrate any one of them, you can copy only required library without copying others.\n\n#### Key Features\n- Contains 3 library allows to pick video, photo, audio type of data\n- Can capture/record supported data and can pick from photo and audio library as well\n- Can record multiple type of data at one shoot\n- Can pick or capture/record multiple files at once\n- Can limit length of media while recording\n\n\nIQMediaCaptureController\n-----------------------\n   IQMediaCaptureController is used to capture multiple images, videos and audio.\n\n![Video Recorder](./Screenshots/VideoCapture.png)\n![Photo Capture](./Screenshots/PhotoCapture.png)\n![Audio Recorder](./Screenshots/AudioCapture.png)\n\nIQAssetsPickerController\n-----------------------\n  IQAssetsPickerController is used to pick multiple images \u0026 videos from the iPhone photo gallery.\n\n[![Photo Picker Picker](./Screenshots/PhotoVideoPicker.png)]\n\nIQAudioPickerController\n-----------------------\n  IQAudioPickerController is used to pick multiple audio files from the iPhone music library.\n\n[![Audio Picker](./Screenshots/AudioPicker.png)]\n\nInstallation\n==========================\n\n#### CocoaPods:-\n\n[![CocoaPods](https://img.shields.io/cocoapods/v/IQMediaPickerController.svg)](http://cocoadocs.org/docsets/IQMediaPickerController)\n\n***IQMediaPickerController:-*** IQMediaPickerController is available through [CocoaPods](http://cocoapods.org), to install\nit simply add the following line to your Podfile:\n\n`pod 'IQMediaPickerController'`\n\n#### Carthage\n\n[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.\n\nYou can install Carthage with [Homebrew](http://brew.sh/) using the following command:\n\n```bash\n$ brew update\n$ brew install carthage\n```\n\nTo integrate `IQMediaPickerController` into your Xcode project using Carthage, specify it in your `Cartfile`:\n\n```ogdl\ngithub \"hackiftekhar/IQMediaPickerController\"\n```\n\nRun `carthage` to build the frameworks and drag `IQMediaPickerController.framework` into your Xcode project.\n\n\n#### Source Code:-\n\n[![Github tag](https://img.shields.io/github/tag/hackiftekhar/IQMediaPickerController.svg)]()\n\nJust ***drag and drop*** `IQMediaPickerController` directory to your project. That's it.\n\nExample Usage\n==========================\n\n```objc\n#import \u003cIQMediaPickerController/IQMediaPickerController.h\u003e\n\n@interface ViewController ()\u003cIQMediaPickerControllerDelegate\u003e\n@end\n\n@implementation ViewController\n{\n    IQMediaPickerSelection *selectedMedias;\n}\n\n-(void)showMediaPicker\n{\n    IQMediaPickerController *controller = [[IQMediaPickerController alloc] init];\n    controller.delegate = self;\n    \n    //Set additional settings if you would like to\n    //[controller setSourceType:IQMediaPickerControllerSourceTypeCameraMicrophone];//or IQMediaPickerControllerSourceTypeLibrary\n    //[controller setMediaTypes:@[@(PHAssetMediaTypeAudio),@(PHAssetMediaTypeVideo),@(PHAssetMediaTypeImage)]];\n    //controller.captureDevice = AVCaptureDevicePositionBack;//or AVCaptureDevicePositionFront\n    //controller.allowsPickingMultipleItems = YES;//or NO\n    //controller.allowedVideoQualities = @[@(AVCaptureSessionPreset1920x1080),@(AVCaptureSessionPresetHigh)];\n\n    [self presentViewController:controller animated:YES completion:nil];\n}\n\n-(void)mediaPickerController:(IQMediaPickerController *)controller didFinishMedias:(IQMediaPickerSelection *)selection\n{\n    NSLog(@\"Info: %@\",selection);   //Here you'll get the information about captured or picked assets\n\n    selectedMedias = selection;\n\n    [self.tableView reloadData];\n}\n\n- (void)mediaPickerControllerDidCancel:(IQMediaPickerController *)controller;\n{\n}\n\n@end\n```\n\n\nLICENSE\n---\nDistributed under the MIT License.\n\nContributions\n---\nAny contribution is more than welcome! You can contribute through pull requests and issues on GitHub.\n\nAuthor\n---\nIf you wish to contact me, email at: hack.iftekhar@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackiftekhar%2Fiqmediapickercontroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackiftekhar%2Fiqmediapickercontroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackiftekhar%2Fiqmediapickercontroller/lists"}