反应组件在反应原生中没有按预期工作?

时间:2017-09-04 03:54:27

标签: react-native react-native-android react-native-camera

我尝试使用Camera在我的react-native应用程序中实现react-native-camera,但它似乎不起作用。当我运行react-native run-android空白屏幕时出现任何错误。这是我的代码,

import Camera from 'react-native-camera';

<Camera
       style={Styles.preview}
       aspect={Camera.constants.Aspect.fill}
       ref={cam => { this.camera = cam; }}
      />
const Styles = {
        preview: {
            flex: 1,
            justifyContent: 'flex-end',
            alignItems: 'center',
        }
};

2 个答案:

答案 0 :(得分:0)

您是否设置了权限以便应用可以使用相机?如果您还没有设置权限,则可以如下所示:

的Android

要启用视频录制功能,您必须将以下代码添加到AndroidManifest.xml

<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

IOS

/ios/yourProject/Info.plist

中添加以下权限
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
  ...
    <key>NSCameraUsageDescription</key>
    <string>We need your beautiful camera</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>We're only saving to temp, promise</string>
  </dict>
</plist>

有关ios上相机应用的完整设置和代码,请按照tutorial进行操作。有关权限的更多信息,请按this

答案 1 :(得分:0)

我遇到了类似的问题,发现我需要手动设置iOS的标头路径,如README here中所述。希望对你有帮助!