React Native - Image Picker
=============================
Install
-----------
.. code-block:: bash
npm install react-native-image-picker@latest --save
react-native link
**iOS**
1. For iOS 10+, Add the ``NSPhotoLibraryUsageDescription``, ``NSCameraUsageDescription``,
and ``NSMicrophoneUsageDescription`` (if allowing video) keys to your ``Info.plist``
with strings describing why your app needs these permissions.
**Android**
1. Update ``android/build.gradle``
.. code-block:: gradle
buildscript {
...
dependencies {
classpath 'com.android.tools.build:gradle:2.2.+' // <- USE 2.2.+ version
}
...
}
...
2. Update URL in ``android/gradle/wrapper/gradle-wrapper.properties``
to ``distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip``
3. Add permissions to AndroidManifest.xml
.. code-block:: xml
Usage
--------
.. code-block:: javascript
import ImagePicker from 'react-native-image-picker';
let options = {
title: 'Select Image',
storageOptions: {
skipBackup: true,
path: 'images'
}
};
ImagePicker.showImagePicker(options, (response) => {
console.log('Response = ', response);
if (response.didCancel) {
console.log('User cancelled image picker');
}
else if (response.error) {
console.log('ImagePicker Error: ', response.error);
}
else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
}
else {
let source = { uri: response.uri };
// You can also display the image using data:
// let source = { uri: 'data:image/jpeg;base64,' + response.data };
this.setState({
avatarSource: source
});
}
});
Resources
-------------
- https://github.com/react-community/react-native-image-picker
- https://github.com/ivpusic/react-native-image-crop-picker