Камера не открывается в Reaction-Native- iOS ⇐ IOS
Камера не открывается в Reaction-Native- iOS
Я хочу открыть камеру и отсканировать QR-код. Но вместо камеры в iOS у меня черный экран.
Мой код-
import React, { useState, useEffect } из 'реагировать'; импортировать {View, Text, StyleSheet} из «реагировать-родной»; импортировать { RNCamera } из 'реагировать-родной камеры'; импорт {запрос, РАЗРЕШЕНИЯ, проверка, РЕЗУЛЬТАТЫ} из 'реагировать-родные-разрешения'; импортировать аксиомы из «аксиом»; импортировать Toast из 'реагировать-родной-простой-тост'; импортируйте AsyncStorage из @react-native-async-storage/async-storage; импортировать {API_DOMAIN, GET_EVENT_DETAILS} из '../../comComponents/apiConstants'; const CheckedIn = ({ навигация, маршрут }) => { const [isCheckedIn, setIsCheckedIn] = useState (false); const [checkInMessage, setCheckInMessage] = useState(''); const [eQRstring, setEQRstring] = useState(''); useEffect(() => { выборкаQRString(); }, []); const fetchQRString = async () => { пытаться { const storeEvent = ждут AsyncStorage.getItem('selectedSeminar'); const selectedSeminar = JSON.parse(storedEvent); const eventID = selectedSeminar.eid; const pocid = ждут AsyncStorage.getItem('pocid'); const ответ = ожидайте axios.get( `${API_DOMAIN}${GET_EVENT_DETAILS}?eid=${eventID}&poid=${pocid}` ); console.log(response.data.data.eQRstring); если (response.data.data.eQRstring) { const qrString = response.data.data.eQRstring; setEQRstring (qrString); console.log('QR String:', qrString); //navigation.navigate('CheckedIn', { qrString }); } еще { console.error('eQRstring не определена в данных ответа'); } } поймать (ошибка) { console.error('Ошибка получения QR-строки:', error); } }; const handleScanSuccess = асинхронный (событие) => { пытаться { const scannedStringData = event.data.trim(); console.log('Отсканированные данные:', scannedStringData); console.log('Ожидаемая строка QR:', eQRstring); if (scannedStringData === eQRstring) { // Ваша существующая логика для успешного сопоставления QR-кода и регистрации... Toast.show('Регистрация прошла успешно!', Toast.SHORT); Navigation.navigate('HomeScreen'); } еще { setCheckInMessage('Неверный QR-код'); console.log('Неверный QR-код'); Toast.show('Неверный QR-код!', Toast.SHORT); Navigation.navigate('HomeScreen'); } } поймать (ошибка) { setCheckInMessage('Ошибка обработки сканирования'); console.error('Ошибка обработки сканирования:', error); } }; const requestCameraPermission = асинхронный () => { const result = ожидайте проверки (PERMISSIONS.IOS.CAMERA); если (результат === РЕЗУЛЬТАТЫ. ПРЕДОСТАВЛЕНО) { console.log('Разрешение камеры предоставлено'); } еще{ константное разрешениеResult = ожидание запроса (PERMISSIONS.IOS.CAMERA); if (permissionResult !== 'предоставлено') { console.error('В разрешении камеры отказано'); } еще{ console.log('Разрешения камеры предоставлены'); } } }; useEffect(() => { запрос разрешения камеры (); }, []); const renderQRCodeScanner = () => { console.log('Рендеринг сканера QR-кода'); возвращаться ( console.log('Камера готова')} showMarker={true} markerStyle={styles.markerStyle} captureAudio={false} соотношение = '16:9' /> ); }; возвращаться ( {isCheckedIn? ( Проверено! ) : ( {renderQRCodeScanner()} {checkInMessage ? ( {checkInMessage ) : нулевой} )} ); }; константные стили = StyleSheet.create({ контейнер: { гибкий: 1, justifyContent: 'центр', alignItems: 'центр', }, камераСтиль: { гибкий: 1, ширина границы: 1, Цвет фона: «красный», justifyContent: 'центр', alignItems: 'центр', }, маркерСтиль: { Цвет границы: 'красный', границаРадиус: 10, }, текст: { Размер шрифта: 24, FontWeight: 'жирный', цвет: 'зеленый', }, сообщение: { Размер шрифта: 16, красный цвет', маржаТоп: 20, }, }); экспортировать CheckIn по умолчанию; Я получаю запрос на разрешение. Но вместо того, чтобы открыть камеру, я вижу белый пустой экран без каких-либо ошибок или предупреждений.
Я также дал разрешение в Info.plist-
NSCameraUsageDescription Нам нужен доступ к вашей камере для сканирования QR-кодов. Мой журнал-
QR-строка журнала: 1688236200
Разрешение на запись камеры предоставлено
Я хочу открыть камеру и отсканировать QR-код. Но вместо камеры в iOS у меня черный экран.
Мой код-
import React, { useState, useEffect } из 'реагировать'; импортировать {View, Text, StyleSheet} из «реагировать-родной»; импортировать { RNCamera } из 'реагировать-родной камеры'; импорт {запрос, РАЗРЕШЕНИЯ, проверка, РЕЗУЛЬТАТЫ} из 'реагировать-родные-разрешения'; импортировать аксиомы из «аксиом»; импортировать Toast из 'реагировать-родной-простой-тост'; импортируйте AsyncStorage из @react-native-async-storage/async-storage; импортировать {API_DOMAIN, GET_EVENT_DETAILS} из '../../comComponents/apiConstants'; const CheckedIn = ({ навигация, маршрут }) => { const [isCheckedIn, setIsCheckedIn] = useState (false); const [checkInMessage, setCheckInMessage] = useState(''); const [eQRstring, setEQRstring] = useState(''); useEffect(() => { выборкаQRString(); }, []); const fetchQRString = async () => { пытаться { const storeEvent = ждут AsyncStorage.getItem('selectedSeminar'); const selectedSeminar = JSON.parse(storedEvent); const eventID = selectedSeminar.eid; const pocid = ждут AsyncStorage.getItem('pocid'); const ответ = ожидайте axios.get( `${API_DOMAIN}${GET_EVENT_DETAILS}?eid=${eventID}&poid=${pocid}` ); console.log(response.data.data.eQRstring); если (response.data.data.eQRstring) { const qrString = response.data.data.eQRstring; setEQRstring (qrString); console.log('QR String:', qrString); //navigation.navigate('CheckedIn', { qrString }); } еще { console.error('eQRstring не определена в данных ответа'); } } поймать (ошибка) { console.error('Ошибка получения QR-строки:', error); } }; const handleScanSuccess = асинхронный (событие) => { пытаться { const scannedStringData = event.data.trim(); console.log('Отсканированные данные:', scannedStringData); console.log('Ожидаемая строка QR:', eQRstring); if (scannedStringData === eQRstring) { // Ваша существующая логика для успешного сопоставления QR-кода и регистрации... Toast.show('Регистрация прошла успешно!', Toast.SHORT); Navigation.navigate('HomeScreen'); } еще { setCheckInMessage('Неверный QR-код'); console.log('Неверный QR-код'); Toast.show('Неверный QR-код!', Toast.SHORT); Navigation.navigate('HomeScreen'); } } поймать (ошибка) { setCheckInMessage('Ошибка обработки сканирования'); console.error('Ошибка обработки сканирования:', error); } }; const requestCameraPermission = асинхронный () => { const result = ожидайте проверки (PERMISSIONS.IOS.CAMERA); если (результат === РЕЗУЛЬТАТЫ. ПРЕДОСТАВЛЕНО) { console.log('Разрешение камеры предоставлено'); } еще{ константное разрешениеResult = ожидание запроса (PERMISSIONS.IOS.CAMERA); if (permissionResult !== 'предоставлено') { console.error('В разрешении камеры отказано'); } еще{ console.log('Разрешения камеры предоставлены'); } } }; useEffect(() => { запрос разрешения камеры (); }, []); const renderQRCodeScanner = () => { console.log('Рендеринг сканера QR-кода'); возвращаться ( console.log('Камера готова')} showMarker={true} markerStyle={styles.markerStyle} captureAudio={false} соотношение = '16:9' /> ); }; возвращаться ( {isCheckedIn? ( Проверено! ) : ( {renderQRCodeScanner()} {checkInMessage ? ( {checkInMessage ) : нулевой} )} ); }; константные стили = StyleSheet.create({ контейнер: { гибкий: 1, justifyContent: 'центр', alignItems: 'центр', }, камераСтиль: { гибкий: 1, ширина границы: 1, Цвет фона: «красный», justifyContent: 'центр', alignItems: 'центр', }, маркерСтиль: { Цвет границы: 'красный', границаРадиус: 10, }, текст: { Размер шрифта: 24, FontWeight: 'жирный', цвет: 'зеленый', }, сообщение: { Размер шрифта: 16, красный цвет', маржаТоп: 20, }, }); экспортировать CheckIn по умолчанию; Я получаю запрос на разрешение. Но вместо того, чтобы открыть камеру, я вижу белый пустой экран без каких-либо ошибок или предупреждений.
Я также дал разрешение в Info.plist-
NSCameraUsageDescription Нам нужен доступ к вашей камере для сканирования QR-кодов. Мой журнал-
QR-строка журнала: 1688236200
Разрешение на запись камеры предоставлено
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка «неверные вызовы из размеров полей JS разные» на Android – Reaction-native
Anonymous » » в форуме Android - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-