When I try to use expo imagepicker, the application freezes, opens the gallery or the camera and they close immediately, this only happens to me on iOS, on Android it works perfectly.
This is my code
getPermissionAsync = async () => {
if (Constants.platform.ios) {
const { status } = await Permissions.askAsync(Permissions.CAMERA, Permissions.CAMERA_ROLL);
if (status !== "granted") {
alert(
"Lo sentimos, necesitamos permisos de cámara para hacer que esto funcione!"
);
}
}
};
_pickImage = async type => {
let result = null;
if (type == "galeria") {
result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.Images,
quality: 0.5,
base64: true
});
} else {
result = await ImagePicker.launchCameraAsync({
mediaTypes: ImagePicker.MediaTypeOptions.Images,
quality: 0.5,
base64: true
});
}
if (result != null && !result.cancelled) {
let arr = this.state.imagenesAdjuntas;
arr.push(result);
this.setState({ imagenesAdjuntas: arr });
}
};
These are the dependencies
"dependencies": {
"@expo/vector-icons": "^10.0.3",
"expo": "^33.0.0",
"expo-asset": "^6.0.0",
"expo-barcode-scanner": "~5.0.1",
"expo-blur": "~5.0.1",
"expo-constants": "~5.0.1",
"expo-font": "~5.0.1",
"expo-image-picker": "~5.0.2",
"expo-linear-gradient": "^5.0.1",
"expo-mail-composer": "~5.0.1",
"expo-permissions": "~5.0.1",
"expo-secure-store": "~5.0.1",
"firebase": "^7.2.1",
"prop-types": "^15.7.2",
"react": "16.8.3",
"react-dom": "^16.8.6",
"react-native": "https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz",
"react-native-animated-hide-view": "^1.0.0",
"react-native-banner-carousel": "^1.0.3",
"react-native-elements": "^1.2.6",
"react-native-flip-card": "^3.5.5",
"react-native-gesture-handler": "~1.2.1",
"react-native-maps": "~0.24.0",
"react-native-modal": "^11.1.0",
"react-native-render-html": "^4.1.2",
"react-native-smtp-mailer": "^1.2.1",
"react-native-table-component": "^1.2.0",
"react-native-web": "^0.11.4",
"react-navigation": "^3.11.0",
"sharp": "^0.22.1"
},
"devDependencies": {
"babel-preset-expo": "^5.1.1"
},
This is the app.json
{
"expo": {
"name": "App Name",
"slug": "appname",
"privacy": "public",
"sdkVersion": "33.0.0",
"platforms": [
"ios",
"android"
],
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"loading": {
"icon": "./assets/icon.png",
"hideExponentText": false
},
"splash": {
"image": "./assets/splash.png",
"resizeMode": "cover",
"backgroundColor": "#0088AD"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"packagerOpts": {
"assetExts": [
"ttf",
"mp4",
"otf",
"xml",
"html",
"js"
]
},
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.company.name"
},
"android": {
"package": "com.company.name",
"config": {
}
},
"description": ""
}
}