React-Native-Image-Picker 对话框在 IOS 中启动后自动关闭

Posted

技术标签:

【中文标题】React-Native-Image-Picker 对话框在 IOS 中启动后自动关闭【英文标题】:React-Native-Image-Picker Dialog automatically closes after launching in IOS 【发布时间】:2020-01-03 06:51:45 【问题描述】:

说明

我正在使用 React-Native-Image-Picker 从我的应用程序中选择和上传文件,我面临的问题是它在 android 中工作,但在 ios 中 react-native-image-picker 对话框在启动后自动关闭,因此我无法选择要上传的文件。 ios 上传文件所需的所有权限也已授予。

如何重复问题和示例

import ImagePicker from 'react-native-image-picker';
import RNFetchBlob from 'react-native-fetch-blob';

var options = 
      title: 'Select Image',
      quality : 0.25,
      storageOptions: 
        skipBackup: true,
        path: 'images',
      ,
    ;
  ImagePicker.showImagePicker(options, response => 
      console.log('Response = ', response);

      RNFetchBlob.fs.stat(response.path)
      .then((stats) => 
        if (stats.size <= 5000000) 
          let source = response;
          let checkboxStates = ...this.state.checkboxStates; 
          checkboxStates['image'] = true;

          this.setState( imagePath: source, imageVisible: true, totalUploadSize: this.state.totalUploadSize + stats.size );   
          this.setState(checkboxStates);
        
        else
          toastMessage('Image should be less than 5 MB');
        
      ).catch((err) => );

    );

附加信息

React Native 版本:0.61.5 平台:IOS 开发操作系统:Mac OS Mojave 10.14.2 开发工具:Xcode 10.14.2 设备:iPad Pro (IOS 9)

【问题讨论】:

你有没有找到我面临同样问题的任何解决方案 【参考方案1】:

对于遇到这种情况的人,在我的情况下,这是关闭图像选择选项模式的原因,立即上传打开的图像选择器。尝试在给定时间内关闭,然后在图像选择器像这样启动后打开图像库或关闭模式:

ImagePicker.launchCamera(imageOptions, async (response) => 
          setModalPicker(false)

【讨论】:

【参考方案2】:

当具有用于从相机或图库中选择的选项按钮的模式关闭时,会发生这种情况。您可以在选择图像后关闭模态框。

ImagePicker.launchImageLibrary(options, (response) => 
        //close the modal here
 )

【讨论】:

以上是关于React-Native-Image-Picker 对话框在 IOS 中启动后自动关闭的主要内容,如果未能解决你的问题,请参考以下文章

为啥 react-native-image-picker 不能使用 launchCamera 和 launchImageLibrary 函数?

React-Native-Image-Picker 对话框在 IOS 中启动后自动关闭

RN 使用第三方组件之react-native-image-picker

react-native-image-picker用法

react-native-image-picker vs expo ImagePicker

RN 使用第三方组件之react-native-image-picker(拍照/从相册获取图片)