我在我的应用中使用react-native-camera
模块。按照说明使用列出的here文档设置相机。设置完成后,我可以在iOS模拟器和iPhone上看到相机。但是当我点击CAPTURE
按钮时,我的应用程序在模拟器中崩溃,我的iPhone上出现以下错误:
以下是代码:
import React from 'react';
import { Text, StyleSheet } from 'react-native';
import Camera from 'react-native-camera';
class NCamera extends React.Component {
takePicture() {
alert('Pressed');
this.camera.capture()
.then((data) => {
console.log(data);
})
.catch(err => console.log(err));
}
render() {
return (
<Camera
ref={(cam) => {
this.camera = cam;
}}
style={styles.preview}
aspect={Camera.constants.Aspect.fill}>
<Text style={styles.capture} onPress={this.takePicture.bind(this)}>[CAPTURE]</Text>
</Camera>
);
}
}
请注意,如果我删除capture
方法(下面的代码),该应用程序不会崩溃,并且在模拟器和iPhone中都能正常工作。所以下面的代码肯定存在一些问题,我无法弄清楚是什么。
this.camera.capture()
.then((data) => {
console.log(data);
})
.catch(err => console.log(err));
答案 0 :(得分:1)
解决方案
我忘了在your_project/ios/your_project/Info.plist
添加以下内容,以允许您的应用向用户的照片库写入权限。
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Your message to user when the photo library is accessed for the first time</string>