React-native iOS应用程序在拍照时崩溃

时间:2017-12-24 17:44:54

标签: javascript ios iphone react-native react-native-camera

我在我的应用中使用react-native-camera模块。按照说明使用列出的here文档设置相机。设置完成后,我可以在iOS模拟器和iPhone上看到相机。但是当我点击CAPTURE按钮时,我的应用程序在模拟器中崩溃,我的iPhone上出现以下错误: iPhone error

以下是代码:

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));

1 个答案:

答案 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>