Hay una página separada en la aplicación donde publiqué expo-barcode-scanner. La conclusión es que cuando abre esta página en particular, en la que se encuentra la cámara, la aplicación se bloquea inmediatamente. No se imprimen errores en la consola. El código del escáner en sí fue tomado de apagado. documentación.
Donde:
const AdminScreen = ({navigation}) => { const [hasPermission, setHasPermission] = useState(null); const [scanned, setScanned] = useState(true); const [cameraReady, setCameraReady] = useState(false); useEffect(() => { (async () => { const { status } = await BarCodeScanner.requestPermissionsAsync(); setHasPermission(status === 'granted'); })(); }, []); const onCameraReady = () => { setCameraReady(true) console.warn("Camera ready") } const handleBarCodeScanned = ({ type, data }) => { if (cameraReady){ setScanned(true); alert(`Bar code with type ${type} and data ${data} has been scanned!`); } }; if (hasPermission === null) { return <Text>Requesting for camera permission</Text>; } if (hasPermission === false) { return <Text>No access to camera</Text>; } return ( <View style={{ flex: 1, resizeMode: 'cover', }}> <Camera onCameraReady={onCameraReady} barCodeTypes={[BarCodeScanner.Constants.BarCodeType.qr]} onBarCodeScanned={scanned ? undefined : handleBarCodeScanned} style={{ flex:1 }} /> {scanned && <Button title={'Tap to Scan Again'} onPress={() => setScanned(false)} />} </View> ); }PD: no excluyo que el error sea lo más obvio y estúpido posible, comencé a aprender react y js hace apenas una semana, fácilmente puedo perderme algo