Я борюсь с постоянной проблемой в моем приложении Native Expo React, где камера отлично работает при первом использовании, но не может инициализировать любые последующие попытки. < /p>
Среда: Среда: < /strong> < /p>
реагировать натив 0,74,5 < /li>
Expo sdk 51.0.39 < /li>
Expo-Camera 15.0.16 < /li>
Тестирование устройства iOS (проблема наиболее выражена на iOS) < /li>
< /ul>
Проблема: < /strong>
камера работает нормально, когда впервые открывается в сеансе, но при закрытии и повторном открытии, она не работает с временем инициализации камеры О ошибке iOS. Android работает нормально, как и ожидалось. < /P>
const [showScanner, setShowScanner] = useState(false)
const [isCameraActive, setIsCameraActive] = useState(true)
// Open camera
const handleScanQRCode = useCallback(async () => {
// Check permissions
setIsCameraActive(true)
setShowScanner(true)
}, [permission])
// Close camera
const handleClose = useCallback(() => {
setShowScanner(false)
setIsCameraActive(false)
}, [])
// Render camera when needed
if (showScanner) {
return (
)
}
< /code>
Что я пробовал: < /strong> < /p>
Добавлены периоды восстановления (до 2500 мс для iOS) между камерой
sessions < /li>
Увеличение времени ожидания инициализации с 5s до 8S < /li>
Добавлена автоматическая логика повторения для сбоев инициализации < /li> < бренд /> Убедитесь, что камера полностью размонтирована перед реактивацией < /li>
Добавленная очистка для любых ресурсов, связанных с камерой < /li>
< /ol>
Ни одно из этих решений не сработало - камера по -прежнему терпит неудачу. на выставке? Как я могу гарантировать, что iOS правильно выпускает ресурсы камеры между использованием?
Подробнее здесь: https://stackoverflow.com/questions/794 ... uent-opens