React Native Image Picker 无法读取未定义的属性“showImagePicker”

Posted

技术标签:

【中文标题】React Native Image Picker 无法读取未定义的属性“showImagePicker”【英文标题】:React Native Image Picker cannot read property "showImagePicker" of undefined 【发布时间】:2018-02-13 23:25:41 【问题描述】:

我已按照 react-native-image-picker 软件包的所有 ios 安装说明进行操作,但在尝试使用 showImagePicker() 方法时仍然会出错。

它告诉我cannot read property "showImagePicker" of undefined

我在文件顶部导入了包var ImagePicker = require('react-native-image-picker');,我已经多次完成react-native link,我已将RNImagePicker.xcodeproj 添加到我的库文件夹中,我已将RNImagePicker.a 添加到“Link Binary with Libraries” ",我已将权限添加到我的info.plist 文件中。

我已经完成了文档中的所有操作,但仍然没有任何效果。

这是我的 JS:

import React from 'react';
import PropTypes from 'prop-types';
import  StyleSheet, Text, View, Image, ScrollView, TextInput, TouchableOpacity, KeyboardAvoidingView  from 'react-native';

var ImagePicker = require('react-native-image-picker');

export default class ProfilePicUploaderPage extends React.Component 
  state = 
    ProfilePicLocalSource: null,
    ProfilePicRemoteSource: null
  

  ChoosePhoto()
    console.log(SOCButton);
    var options = 
      title: 'Select Avatar',
      customButtons: [
        name: 'fb', title: 'Choose Photo from Facebook',
      ],
      storageOptions: 
        skipBackup: true,
        path: 'images'
      
    ;
    ImagePicker.showImagePicker(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);
      
      else if (response.customButton) 
        console.log('User tapped custom button: ', response.customButton);
      
      else 
        let source =  uri: response.uri ;

        this.setState(
          avatarSource: source
        );
      
    );


  

  render()
      return(<all of my JSX>);
  

我知道发生了什么的唯一线索是,当我尝试在 Xcode 中构建我的应用程序时,它失败并出现错误 clang: error: linker command failed with exit code 1 (use -v to see invocation)

有人知道发生了什么吗?

【问题讨论】:

你为什么使用this.ImagePicker 而不是只使用ImagePicker?也许这就是问题所在。 @MamdohSaraireh 抱歉,这是一个错误。当我自己调试时,我认为这可能会解决我的问题。我编辑了问题。 你在项目中使用了 cocoapods 吗? @hawkup 是的,我做到了 我不确定。检查这个answers。 【参考方案1】:

您似乎没有将 ImagePicker 导入到您的 JS 文件中。尝试使用import ImagePicker from 'react-native-image-picker'

如果您正确地遵循了 iOS 的链接步骤,那么您应该没问题。

【讨论】:

以上是关于React Native Image Picker 无法读取未定义的属性“showImagePicker”的主要内容,如果未能解决你的问题,请参考以下文章

react-native-image-picker 视频的持续时间

我的 react-native 应用程序无法识别 react-native-image-crop-picker

安装 react-native-image-crop-picker 后构建失败

选择器'labelColor'没有已知的类方法 - react-native-image-crop-picker - 用于 react-native iOS

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

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