Почему моя функция Expo-Camera не открывается в моем приложении в Expo Go?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Почему моя функция Expo-Camera не открывается в моем приложении в Expo Go?

Сообщение Anonymous »

Я пытаюсь открыть камеру в своем приложении. Я использую Expo Go, чтобы открыть это приложение на своем устройстве IOS, написанное с использованием React Native. Однако я получаю эту ошибку:
(NOBRIDGE) ERROR Warning: TypeError: _expoCamera.Camera.useCameraPermissions is not a function (it is undefined)

Это CameraScreen.js.
import React, { useState, useEffect } from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
import { Camera } from 'expo-camera';

export default function CameraScreen() {
const [permission, requestPermission] = Camera.useCameraPermissions();
const [cameraType, setCameraType] = useState(Camera.Constants.Type.back);

useEffect(() => {
if (!permission) {
requestPermission(); // Request permissions on mount if not granted
}
}, [permission]);

if (!permission) {
// Permissions are still loading
return Loading...;
}

if (!permission.granted) {
// Permission is not granted yet
return (


We need your permission to access the camera.



);
}

return (



setCameraType((prev) =>
prev === Camera.Constants.Type.back
? Camera.Constants.Type.front
: Camera.Constants.Type.back
)
}
/>

);
}

const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
padding: 16,
},
camera: {
flex: 1,
width: '100%',
},
});

У меня есть эти разрешения в package.json.
},
"ios": {
"supportsTablet": true,
"newArchEnabled": true,
"infoPlist": {
"NSCameraUsageDescription": "We need access to your camera to take photos."
}
},
"android": {
"newArchEnabled": true,
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"permissions": ["CAMERA"]
},
"plugins": [
[
"expo-camera",
{
"cameraPermission": "Allow $(PRODUCT_NAME) to access your camera",
"microphonePermission": "Allow $(PRODUCT_NAME) to access your microphone",
"recordAudioAndroid": true
}
]

Насколько я понимаю, файл Babel.config.js также должен быть правильно изменен, поэтому на всякий случай я включил его ниже.
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: ["module:react-native-dotenv"], // Use "module:react-native-dotenv"
};
};


Если применимо, это соответствующие части кода для моих HomePage.js и App.js:

+



Подробнее здесь: https://stackoverflow.com/questions/792 ... in-expo-go
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»