{"id":13776819,"url":"https://github.com/liaoyuan-io/react-native-multiple-image-picker","last_synced_at":"2025-05-11T10:31:29.375Z","repository":{"id":57338490,"uuid":"61573470","full_name":"liaoyuan-io/react-native-multiple-image-picker","owner":"liaoyuan-io","description":"React Native Multiple Image Picker","archived":false,"fork":false,"pushed_at":"2018-08-14T15:43:24.000Z","size":8643,"stargazers_count":41,"open_issues_count":6,"forks_count":11,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-07T20:38:48.267Z","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/liaoyuan-io.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":"2016-06-20T19:10:40.000Z","updated_at":"2023-02-24T12:16:57.000Z","dependencies_parsed_at":"2022-09-07T10:10:47.786Z","dependency_job_id":null,"html_url":"https://github.com/liaoyuan-io/react-native-multiple-image-picker","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/liaoyuan-io%2Freact-native-multiple-image-picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liaoyuan-io%2Freact-native-multiple-image-picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liaoyuan-io%2Freact-native-multiple-image-picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liaoyuan-io%2Freact-native-multiple-image-picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liaoyuan-io","download_url":"https://codeload.github.com/liaoyuan-io/react-native-multiple-image-picker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253551765,"owners_count":21926354,"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-08-03T18:00:33.518Z","updated_at":"2025-05-11T10:31:24.868Z","avatar_url":"https://github.com/liaoyuan-io.png","language":"Objective-C","funding_links":[],"categories":["\u003ca name=\"Image-\u0026-Audio-\u0026-Video-\u0026-Docs:-Native-Modules\"\u003eImage, Audio, Video \u0026 Docs: Native Modules\u003c/a\u003e"],"sub_categories":[],"readme":"# react-native-multiple-image-picker\nReact Native Multiple Image Picker is a React Native native module wrapping [TZImagePickerController](https://github.com/banchichen/TZImagePickerController) for iOS (iOS 8+ for using PhotoKit) and [RxGalleryFinal](https://github.com/FinalTeam/RxGalleryFinal) for Android (Android 4.1+). This module allows you to pick multiple images for further processing.\n\nReact Native Multiple Image Picker 多图片选择器 是一个 React Native 原生模块，封装了 [TZImagePickerController](https://github.com/banchichen/TZImagePickerController)（用于 iOS 8+，因为使用了 PhotoKit）和 [RxGalleryFinal](https://github.com/FinalTeam/RxGalleryFinal)（用于 Android 4.1+，尚处于**试验阶段**）。使用这个模块你可以一次选择多张图片，以供进一步处理。\n\n## Known Issues\n\n- Currently, [RxGalleryFinal](https://github.com/FinalTeam/RxGalleryFinal) is still in a **pre-release** stage and is **NOT READY for production** yet. Image previews are not presented in correct aspect ratios.\n\n## Install\n\n### iOS\n\n1. Run `npm install --save react-native-multiple-image-picker` .\n2. Add `RCTMultipleImagePicker` to your iOS project.\n3. Add `libRCTMultipleImagePicker.a` to your `Link Binary with Libraries` section in `Build Phases` .\n4. Copy `TZImagePickerController.framework` to your `Framework` folder.\n5. Add `TZImagePickerController.framework` to your `Framework` group and `Embedded Binaries` section in `Target-\u003eGeneral` .\n\n### Android\n\n1. Run `npm install --save react-native-multiple-image-picker` .\n2. Add `new MultipleImagePickerPackage()` to your `getPackages` return in `android/app/src/main/java/com/your/path/MainApplication.java`.\n3. Add following to your `android/app/src/main/AndroidManifest.xml`:\n    ```\n    // permission declaration\n    \u003cuses-feature android:name=\"android.hardware.camera\" android:required=\"true\"/\u003e\n    \u003cuses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" /\u003e\n    \u003cuses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\" /\u003e\n    \n    // in application\n        \u003cactivity\n                android:name=\"cn.finalteam.rxgalleryfinal.ui.activity.MediaActivity\"\n                android:exported=\"true\"\n                android:screenOrientation=\"portrait\"/\u003e\n    ```\n4. Add `compile project(':react-native-multiple-image-picker')` to `dependencies` section in `android/app/build.gradle` .\n5. Add following to your `android/settings.gradle`:\n\n    ```\n    include ':react-native-multiple-image-picker'\n    project(':react-native-multiple-image-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-multiple-image-picker/android')\n    ```\n    \n## Usage\n\n```javascript\nimport MultipleImagePicker from 'react-native-multiple-image-picker';\n\nconst options = {\n    maxImagesCount: 9,      // Max number of images user can select; if maxImagesCount == 1, Single mode (i.e. Tap to Select \u0026 Finish) will be activated.\n    selectedPaths: [\n        '/Users/tshen/Library/Developer/CoreSimulator/Devices/8C416B45-F555-4A63-A1B0-09E61109F0A0/data/Containers/Data/Application/A1790255-CDE8-486C-A6BA-1693BA2AA87B/Documents/BB6ADD56-09E7-402C-BF0E-AD79400D3889-7539-000007B93A6B5733/0.jpg',\n        '/Users/tshen/Library/Developer/CoreSimulator/Devices/8C416B45-F555-4A63-A1B0-09E61109F0A0/data/Containers/Data/Application/A1790255-CDE8-486C-A6BA-1693BA2AA87B/Documents/BB6ADD56-09E7-402C-BF0E-AD79400D3889-7539-000007B93A6B5733/1.jpg',\n        '/Users/tshen/Library/Developer/CoreSimulator/Devices/8C416B45-F555-4A63-A1B0-09E61109F0A0/data/Containers/Data/Application/A1790255-CDE8-486C-A6BA-1693BA2AA87B/Documents/BB6ADD56-09E7-402C-BF0E-AD79400D3889-7539-000007B93A6B5733/2.jpg',\n        '/Users/tshen/Library/Developer/CoreSimulator/Devices/8C416B45-F555-4A63-A1B0-09E61109F0A0/data/Containers/Data/Application/A1790255-CDE8-486C-A6BA-1693BA2AA87B/Documents/BB6ADD56-09E7-402C-BF0E-AD79400D3889-7539-000007B93A6B5733/3.jpg'\n    ]                       // Currently selected paths, must be from result of previous calls. Empty array allowed.\n};\nMultipleImagePicker.launchImageGallery(options).then((newSelectedPaths) =\u003e {\n    // newSelectedPaths will be an Array of String, like [ '/path/1', '/path/2' ], and may be used for `selectedPaths` on the next invocation\n});\n```\n\n## Error Codes\n\n| Code                          | Platform         | Description                                                                                                            |\n| ----------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------- |\n| camera_permission_not_granted | iOS              | User has not granted CAMERA permission to your app. Should guide user to Settings \u003e Privacy \u003e Camera .                 |\n| create_directory_failed       | iOS              | The app has failed to create the temp folder for photo processing due to insufficient storage or other system errors.  |\n| user_cancelled                | iOS              | User has cancelled the image picker.                                                                                   |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliaoyuan-io%2Freact-native-multiple-image-picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliaoyuan-io%2Freact-native-multiple-image-picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliaoyuan-io%2Freact-native-multiple-image-picker/lists"}