Escáner de Código de Barras (Barcode Scanner)
Permite que tu aplicación móvil use la cámara para escanear códigos QR, EAN-13 y otros tipos de códigos de barras.
Plataformas Soportadas
Sección titulada “Plataformas Soportadas”Este plugin requiere una versión de Rust de al menos 1.77.2
| Plataforma | Nivel | Notas |
|---|---|---|
| windows | ||
| linux | ||
| macos | ||
| android | ||
| ios |
Configuración
Sección titulada “Configuración”Instala el plugin barcode-scanner para comenzar.
Usa el gestor de paquetes de tu proyecto para agregar la dependencia:
npm run tauri add barcode-scanneryarn run tauri add barcode-scannerpnpm tauri add barcode-scannerdeno task tauri add barcode-scannerbun tauri add barcode-scannercargo tauri add barcode-scanner-
Ejecuta el siguiente comando en la carpeta
src-tauripara agregar el plugin a las dependencias del proyecto enCargo.toml:cargo add tauri-plugin-barcode-scanner --target 'cfg(any(target_os = "android", target_os = "ios"))' -
Modifica
lib.rspara inicializar el plugin:src-tauri/src/lib.rs #[cfg_attr(mobile, tauri::mobile_entry_point)]pub fn run() {tauri::Builder::default().setup(|app| {#[cfg(mobile)]app.handle().plugin(tauri_plugin_barcode_scanner::init());Ok(())}).run(tauri::generate_context!()).expect("error while running tauri application");} -
Instala los bindings de JavaScript utilizando tu gestor de paquetes de JavaScript preferido:
npm install @tauri-apps/plugin-barcode-scanneryarn add @tauri-apps/plugin-barcode-scannerpnpm add @tauri-apps/plugin-barcode-scannerdeno add npm:@tauri-apps/plugin-barcode-scannerbun add @tauri-apps/plugin-barcode-scanner
Configuración
Sección titulada “Configuración”En iOS el plugin barcode scanner requiere el valor de la propiedad de lista de información NSCameraUsageDescription, que debería describir por qué tu aplicación necesita usar la cámara.
En el archivo src-tauri/Info.ios.plist, agrega el siguiente fragmento:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <dict> <key>NSCameraUsageDescription</key> <string>Read QR codes</string> </dict></plist>El plugin de escáner de código de barras está disponible en JavaScript.
import { scan, Format } from '@tauri-apps/plugin-barcode-scanner';// when using `"withGlobalTauri": true`, you may use// const { scan, Format } = window.__TAURI__.barcodeScanner;
// `windowed: true` actually sets the webview to transparent// instead of opening a separate view for the camera// make sure your user interface is ready to show what is underneath with a transparent elementscan({ windowed: true, formats: [Format.QRCode] });Permisos
Sección titulada “Permisos”De forma predeterminada, todos los comandos y alcances (scopes) potencialmente peligrosos del plugin están bloqueados y no se puede acceder a ellos. Debes modificar los permisos en tu configuración de capabilities para habilitarlos.
Consulta la Visión General de Capacidades para obtener más información y la guía paso a paso para usar permisos de plugins.
{ "$schema": "../gen/schemas/mobile-schema.json", "identifier": "mobile-capability", "windows": ["main"], "platforms": ["iOS", "android"], "permissions": ["barcode-scanner:allow-scan", "barcode-scanner:allow-cancel"]}Permiso Predeterminado
Este conjunto de permisos configura qué características de escaneo de códigos de barras están expuestas de forma predeterminada.
Permisos Otorgados
Permite todas las características relacionadas con códigos de barras.
Este conjunto de permisos predeterminado incluye lo siguiente:
allow-cancelallow-check-permissionsallow-open-app-settingsallow-request-permissionsallow-scanallow-vibrate
Tabla de Permisos
| Identificador | Descripción |
|---|---|
|
|
Habilita el comando cancel sin ningún alcance preconfigurado. |
|
|
Deniega el comando cancel sin ningún alcance preconfigurado. |
|
|
Habilita el comando check_permissions sin ningún alcance preconfigurado. |
|
|
Deniega el comando check_permissions sin ningún alcance preconfigurado. |
|
|
Habilita el comando open_app_settings sin ningún alcance preconfigurado. |
|
|
Deniega el comando open_app_settings sin ningún alcance preconfigurado. |
|
|
Habilita el comando request_permissions sin ningún alcance preconfigurado. |
|
|
Deniega el comando request_permissions sin ningún alcance preconfigurado. |
|
|
Habilita el comando scan sin ningún alcance preconfigurado. |
|
|
Deniega el comando scan sin ningún alcance preconfigurado. |
|
|
Habilita el comando vibrate sin ningún alcance preconfigurado. |
|
|
Deniega el comando vibrate sin ningún alcance preconfigurado. |
© 2026 Colaboradores de Tauri. CC-BY / MIT