我使用expo XDE创建了一个新的react本机项目,我只是添加了一个按钮来获取相机滚动权限,但是它给出了一个错误:Error: Missing camera roll permission.
当我记录Permissions.askAsync()
方法的返回值时,它会告诉我权限为{status: "undetermined", expires: "never"}
。
是否可以明确进入设备的设置并允许展示应用的相机胶卷权限?我正在使用ios模拟器作为设备,但我无法找到允许相机胶卷许可的设置。
我的App.js代码如下:
import React from 'react';
import { StyleSheet, Text, View, TouchableOpacity } from 'react-native';
import { Permissions, ImagePicker } from 'expo';
export default class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<TouchableOpacity
onPress={() => {
debugger;
console.log(Permissions.CAMERA_ROLL)
return Permissions.getAsync(Permissions.CAMERA_ROLL)
.then((permission) => {
debugger;
return ImagePicker.launchImageLibraryAsync({
height: '100px',
width: '100px',
base64: true
}).then((result) => {
const { base64 } = result;
debugger;
return base64;
}).catch((e) => {
console.log(e);
debugger;
});
}).catch((e) => {
console.log(e);
debugger;
});
}}
><Text>get image</Text></TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
答案 0 :(得分:0)
这是我针对非EXPO示例所做的事情,使用了Simulator和Xcode的菜单栏:
react-native run-ios
用于从终端构建新版本希望这会有所帮助。