我试图访问相机,但我收到此错误。我尝试做人们在其他页面中显示的所有教程,使其工作,但我没有相同的loki。
我输入此文件: \ myproject \ node_modules \ lottie-ios \ Example-Swift \ Pods \ Target Support Files \ lottie-ios \ Info.plist 并添加:
<key>NSCameraUsageDescription</key>
<string>Feetit Would you like to access Camera</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Feetit Would you like to access Photos</string>
在此之前我安装了这个:
npm install react-native-camera --save
npm install react-native link react-native-camera
之后我尝试使用此代码来制作相机:
import React, {Component} from 'react';
import Camera from 'react-native-camera';
import {View, TouchableHighlight, Text, StyleSheet} from 'react-native';
export default class CameraAcess extends Component {
takePicture() {
const options = {};
//options.location = ...
this.camera.capture({metadata: options})
.then((data) => console.log(data))
.catch(err => console.error(err));
}
onBarCodeRead(e) {
console.log(
"Barcode Found!", "Type: " + e.type + "\nData: " + e.data
);
}
render() {
return (
<View style={styles.container}>
<Camera
ref={(cam) => {
this.camera = cam;
}}
onBarCodeRead={this.onBarCodeRead.bind(this)}
style={styles.preview}>
<TouchableHighlight style={styles.capture} onPress={this.takePicture.bind(this)}>[CAPTURE]
<Text>Click me</Text>
</TouchableHighlight>
</Camera>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
flexDirection: 'row',
},
preview: {
flex: 1,
justifyContent: 'flex-end',
alignItems: 'center'
},
capture: {
flex: 0,
backgroundColor: '#fff',
borderRadius: 5,
color: '#000',
padding: 10,
margin: 40
}
});
我得到这个错误'无法读取未定义的'Aspect'。此错误的文件是另一个,是Camera.js。有人可以告诉我我要做些什么让它起作用吗?
答案 0 :(得分:0)
我查看了文档,并没有在相机上看到这个变量,但我确实在一个例子中看到我建立了我在相机上设置这个变量。看看这是否有帮助,因为它可能不以默认值开头。
aspect={Camera.constants.Aspect.fill}
更改您的偏好。
答案 1 :(得分:0)
如果您在iOS中遇到此问题,那么
删除以前安装的react-native-camera pod。
$ cd ios
$ rm -rf Pods/
$ pod install
然后手动链接 如图书馆readme
中所述请检查相机所需的权限。