React native 即使iOS设备在React native中的权限被拒绝,我也可以从照片库中获取图像

React native 即使iOS设备在React native中的权限被拒绝,我也可以从照片库中获取图像,react-native,React Native,我是个新来的本地人。我正在使用“react native image picker”从画廊或相机中拾取图像。对于相机来说,它工作得很好,但对于画廊来说,如果我拒绝许可,即使我能够从画廊获得图像。我做错了什么 我的代码如下: import ImagePicker from 'react-native-image-picker'; <ActionSheet ref={o => this.ActionSheet = o} title={'Which

我是个新来的本地人。我正在使用“react native image picker”从画廊或相机中拾取图像。对于相机来说,它工作得很好,但对于画廊来说,如果我拒绝许可,即使我能够从画廊获得图像。我做错了什么

我的代码如下:

  import ImagePicker from 'react-native-image-picker';

    <ActionSheet
       ref={o => this.ActionSheet = o}
       title={'Which one do you select?'}
       options={['Gallery', 'Camera', 'cancel']}
       cancelButtonIndex={2}
       destructiveButtonIndex={1}
       onPress={(index) => {
        if (index == 0) {
          this.handleChoosePhoto()
        } else if (index == 1) {
          this.launchCamera()
        }
     }}
  />

      handleChoosePhoto = () => {
        this.setState({
          loading: true,
        });
        const options = {
          noData: true,
        };

        ImagePicker.launchImageLibrary(options, response => {
          if (response.didCancel) {
            console.log('User cancelled image picker');
          } else if (response.error) {
            console.log('ImagePicker Error: ', response.error);
            Linking.openSettings()
          } else if (response.customButton) {
            console.log('User tapped custom button: ', response.customButton);
            alert(response.customButton);
          } else {
            AsyncStorage.setItem('CandidatePhotoUrl', response.uri);
            this.setState({ photo: response });
          }
          this.setState({ loading: false })
        });
      };

    launchCamera = () => {
        this.setState({
          loading: true,
        });
        let options = {
          storageOptions: {
            skipBackup: true,
            path: 'images',
          },
        };
        ImagePicker.launchCamera(options, (response) => {
          console.log('Response = ', response);

          if (response.didCancel) {
            console.log('User cancelled image picker');
          } else if (response.error) {
            console.log('ImagePicker Error: ', response.error);
            Linking.openSettings()
          } else if (response.customButton) {
            console.log('User tapped custom button: ', response.customButton);
            alert(response.customButton);
          } else {
            AsyncStorage.setItem('CandidatePhotoUrl', response.uri);
            const source = { uri: response.uri };
            console.log('response', JSON.stringify(response));
            this.setState({ photo: response });
          }
          this.setState({ loading: false })
        });

      }
从“react native image picker”导入ImagePicker;

也许你只是拒绝了拍照许可 尝试手动切换权限


也许你只是拒绝了拍照许可 尝试手动切换权限


如果您在模拟器中,我发誓所有权限都已授予。不管你否认什么。我正在检查真实设备。然后你在调试模式下测试它吗?不,我在正常模式下。你是说配置吗?如果你在模拟器中,我发誓所有权限都被授予了。不管你怎么否认。我正在检查真实的设备。然后你在调试模式下测试它吗?不,我在正常模式下。你是说配置吗?不,实际上相机工作正常。没有问题,但对于画廊来说,即使我可以选择和使用图像,权限也是“永不”的。不,实际上对于相机来说,它工作得很好。没有问题,但对于画廊来说,即使我可以选择和使用图片,权限也是“永不”的。