我在应用程序中进行了一个上传屏幕,我想我已经大部分了,但是它给我警告缺少相机滚动权限。我想帮助解决这个问题。
我在线寻找文档。
这是文档
import { View, Dimensions, StyleSheet, Button } from 'react-native';
import { Icon } from 'native-base';
import { ImagePicker } from 'expo';
var { width, height } = Dimensions.get('window');
class UploadTab extends Component {
static navigationOptions = {
tabBarIcon: ({ tintColor }) => (
<Icon name="ios-add-circle" style={{ color: tintColor }} />
),
};
state = {
image: null,
};
_handleChoosePhoto = async () => {
let result = await ImagePicker.launchImageLibraryAsync({
allowsEditing: true,
aspect: [4, 3],
});
console.log(result);
if (!result.cancelled) {
this.setState({ image: result.uri });
}
const options = {};
ImagePicker.launchImageLibrary(options, (response) => {
console.log('response', response);
});
};
render() {
let { image } = this.state;
return (
<View
style={{
flex: 1,
alignItems: 'center',
justifyContent: 'center',
backgroundColor: '#1f1f1f',
width: width,
height: height,
}}>
<Button title="Choose Photo" onPress={this._handleChoosePhoto} />
{image && (
<Image source={{ uri: image }} style={{ width: 200, height: 200 }} />
)}
</View>
);
}
}
export default UploadTab;
我需要按钮打开相机卷,以便我可以选择要上传的内容。
警告(黄色(可能的未置信的承诺拒绝(ID:6(:错误:缺少相机卷许可。...
文档中:https://docs.expo.io/versions/latest/sdk/imagepicker/#api
显示系统UI用于选择手机库中的图像或视频。仅在iOS上需要
Permissions.CAMERA_ROLL
。
和:https://docs.expo.io/versions/latest/sdk/permissions/#permissionsassaskasynctypes
async function getLocationAsync() {
const { Location, Permissions } = Expo;
// permissions returns only for location permissions on iOS and under certain conditions, see Permissions.LOCATION
const { status, permissions } = await Permissions.askAsync(Permissions.LOCATION);
if (status === 'granted') {
return Location.getCurrentPositionAsync({enableHighAccuracy: true});
} else {
throw new Error('Location permission not granted');
}
}
在您需要的许可下交换位置