目前我正在通过终端和Atom编辑器运行我的React Native项目。我正在尝试使用https://github.com/marcshilling/react-native-image-picker中的rect-native-image-picker并按照说明安装:npm install react-native-image-picker@latest --save
我的dependencies
显示:"react-native-image-picker": "^0.22.8"
然后我尝试按照确切的示例,但当我按下按钮选择图像时,ImagePicker.showImagePicker(options, (response) => {...})
仍然出现错误:Cannot read property 'showImagePicker' of undefined
console.log(ImagePicker)
的{{1}},这正是它在react-native-image-picker的Example项目中的实现方式,并记录了它:
所以我克隆了示例项目以及import ImagePicker from 'react-native-image-picker'
并显示:
我开始相信问题是我没有得到我应该得到的功能,例如console.log(ImagePicker)
和launchCamera
。我似乎无法弄清楚原因。我可能缺少什么或做错了什么?
答案 0 :(得分:1)
您使用的是什么版本的RN和iOS?如果您确定已将npm包与本机代码(rnpm link
)相关联,则可以尝试在Info.plist
标记之间添加<dict>
(右键 - &gt;打开源代码):
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
答案 1 :(得分:0)
我也面临同样的问题。因此,在文档中,给出了自动链接,但它没有链接所有依赖项。您需要手动链接一些依赖项。 请点击下面的链接,它将为您提供帮助。 For manually linking follow this
答案 2 :(得分:0)
我不是专家,但你可以解决这个问题,感谢:
我不是专家,但您可以通过以下方式解决此问题:
不要犹豫,删除您的节点模块和 pod 文件,然后重新启动您的服务器
不要犹豫,删除您的节点模块和 pod 文件,然后重新启动您的服务器
答案 3 :(得分:0)
这样做:
import {launchCamera, launchImageLibrary} from 'react-native-image-picker';
launchCamera(options, response => {
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
alert('ImagePicker Error: ', response.error);
} else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
} else {
alert(response.uri)
}
});
原因是ImagePicker.showImagePicker折旧了