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.
I hope someone can help me.
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": ""
}
}
I will put the following to fill
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.