不同文件中未定义的方面React Native

时间:2018-04-26 10:46:32

标签: ios reactjs react-native expo

Aspec Error

我试图访问相机,但我收到此错误。我尝试做人们在其他页面中显示的所有教程,使其工作,但我没有相同的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。有人可以告诉我我要做些什么让它起作用吗?

2 个答案:

答案 0 :(得分:0)

我查看了文档,并没有在相机上看到这个变量,但我确实在一个例子中看到我建立了我在相机上设置这个变量。看看这是否有帮助,因为它可能不以默认值开头。

aspect={Camera.constants.Aspect.fill}

更改您的偏好。

答案 1 :(得分:0)

如果您在iOS中遇到此问题,那么

删除以前安装的react-native-camera pod。

 $ cd ios
 $ rm -rf Pods/
 $ pod install

然后手动链接 如图书馆readme

中所述

请检查相机所需的权限。