如何解决未在Expo项目中的iOS上发送的权限请求

时间:2019-06-19 16:53:29

标签: react-native expo

我目前正处在博览会应用开发课程的中间,并且当前正在部分中,您需要请求使用相机的许可。但是,无论何时加载该应用程序,它都不会在弹出窗口中询问我是否有许可,并且没有错误。它应该弹出来并说出“某某想要访问您的相机”的字样。使用展览会的文档和视频,我似乎无法弄清楚哪里出了问题。我目前正在Expo 33.0,React Native 0.59.9上运行,并且正在我的iPhone XR(iOS 12.1.4)上运行该应用程序。非常感谢任何帮助,非常感谢!

import { StyleSheet, Text, View, Button, Image } from 'react-native';
import {Camera} from "expo-camera";
import * as Permissions from 'expo-permissions';
import {FontAwesome} from "@expo/vector-icons";

export default class CameraScreen extends React.Component {
    constructor(props){
        super(props);
        this.state ={
            hasCameraPermission: null,
            type: Camera.Constants.Type.back,
            isFlashLightOn: Camera.Constants.FlashMode.off,
        }
    }

    static navigationOption = {
        title: "Camera"
    }

    //ask for permission
    async componentDidMount() {
      const { status } = await Permissions.askAsync(Permissions.CAMERA);
      this.setState({ hasCameraPermission: status === 'granted' });
    }

    render(){
      return (
        <View style={styles.container}>
          <Text>Camera Screen</Text>
        </View>
      );
    }
}

1 个答案:

答案 0 :(得分:1)

如果您正在Expo应用程序上运行项目,并且您已经授予了对摄像头的访问权限,则可能无需再次授予访问权限。您可以通过转到设置>博览会并关闭相机来取消对相机的访问权限。