Я использую реакцию native и эту библиотеку, чтобы сделать снимок экрана над камерой: https://github.com/gre/react-native-view-shot.отредактируйте собственный такой же снимок в кадре камеры
Мой проект скомпилирован правильно, и я могу нажать на кнопку «сделать снимок экрана», которая вернет uri временного пути к файлу.
2016-12-17 20:02:50.049 [info][tid:com.facebook.react.JavaScript]
'Image saved to ', '/private/var/mobile/Containers/Data/Application/C46841FC-C985-4396-A8DE-9A8C3CD7A9B8/tmp/ReactNative/C06F2B55-C390-495C-A4C5-63988C1CD374.jpg'
Однако, когда я пытаюсь сохранить изображение в рулон камеры, я получаю следующее сообщение об ошибке:
[info][tid:com.facebook.react.JavaScript]
'error save: ', [TypeError: undefined is not an object (evaluating 'RCTCameraRollManager.saveToCameraRoll')
моя установка выглядит примерно так:
import React, { Component } from 'react';
import {takeSnapshot} from 'react-native-view-shot';
import {
CameraRoll,
Text,
View
} from 'react-native';
import Camera from 'react-native-camera';
export default class CameraView extends Component {
constructor() {
this.camera = null;
}
setCamera(ref) {
this.camera = ref;
}
capture() {
takeSnapshot(this.camera, {format, quality})
.then(
uri => {
console.log("Image saved to ", file);
CameraRoll.saveToCameraRoll(uri, 'photo');
}
)
.catch(error => console.log('error save: ', error));
}
render() {
return (
<View>
<Camera ref={ref => this.setCamera(ref)}>
<Text onPress={() => this.capture()}>
take screenshot
</Text>
</Camera>
</View>
);
}
Когда я удаленно отлаживать ошибку js в браузере, я получаю следующую ошибку:
TypeError: Cannot read property 'saveToCameraRoll' of undefined
at Function.saveToCameraRoll (CameraRoll.js:159)
at CameraView.js:71
at tryCallOne (core.js:37)
at core.js:123
at JSTimers.js:100
at Object.callTimer (JSTimersExecution.js:95)
at Object.callImmediatesPass (JSTimersExecution.js:199)
at Object.callImmediates (JSTimersExecution.js:214)
at MessageQueue.js:214
at guard (MessageQueue.js:46)
кажется, что я связал соответствующие библиотеки, необходимые для IOS, но я все еще получаю ошибку выше:
Почему бы CameraRoll
быть определено в этой ситуации?