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

Posted

技术标签:

【中文标题】拍照时 React-native iOS 应用程序崩溃【英文标题】:React-native iOS app crashes when taking picture 【发布时间】:2017-12-24 17:44:54 【问题描述】:

我在我的应用程序中使用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));

【问题讨论】:

【参考方案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> 

【讨论】:

以上是关于拍照时 React-native iOS 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

react-native构建基本页面5---调用拍照摄像头

react-native多图选择图片裁剪(支持ad/ios图片个数控制)

iOS:在相机打开并拍照时从另一个应用程序播放音乐

当应用程序被杀死时,在推送通知后执行操作:react-native,IOS

使用 react-native (expo) 切换手电筒

为 ios react-native itc deploy 加载 ios/main.bundlejs 时遇到问题