Getnet DocsGetnet Docs

Depuración de conectividad Bluetooth

La conectividad Bluetooth en iOS está sujeta a estrictos requisitos y permisos del sistema. Esta guía te ayuda a solucionar problemas comunes de emparejamiento y conexión Bluetooth al integrar el SDK de Get Mini con dispositivos PIN pad.

Problemas comunes de Bluetooth

Entender los problemas comunes de Bluetooth y sus soluciones te ayuda a diagnosticar rápidamente problemas de conectividad durante el desarrollo y el despliegue.

Fallo de la app al escanear

Si tu aplicación se cierra inmediatamente al llamar a scanForReaders, la causa más común es la falta de declaraciones de permisos Bluetooth. iOS termina las aplicaciones que intentan operaciones Bluetooth sin la configuración adecuada en Info.plist.

Verifica tu archivo Info.plist y asegúrate de que contiene la clave NSBluetoothAlwaysUsageDescription con un valor de cadena no vacío. Esta clave de permiso es obligatoria para iOS 13 y posteriores. Sin ella, cualquier intento de escaneo Bluetooth causa la terminación inmediata de la aplicación. Agrega la clave faltante a través de la pestaña Info de Xcode o editando directamente el código fuente del plist.

Para soporte de versiones de iOS heredadas, incluye también NSBluetoothPeripheralUsageDescription en tu Info.plist. Consulta la guía Configurar permisos de iOS para instrucciones completas de configuración de permisos.

Lector no aparece en resultados de escaneo

Cuando el escaneo Bluetooth se completa pero devuelve una lista vacía de lectores, varias condiciones podrían prevenir el descubrimiento del lector. Verifica que el dispositivo PIN pad esté en modo de emparejamiento: el indicador Bluetooth debe parpadear para señalar disponibilidad. Verifica que ninguna otra aplicación o dispositivo mantenga actualmente una conexión activa con el PIN pad, ya que los lectores Bluetooth típicamente admiten solo un enlace activo a la vez.

Si el lector aún no aparece, intenta reiniciar el dispositivo PIN pad manteniendo presionado el botón de encendido durante 10 segundos hasta que se apague, luego enciéndelo nuevamente. Verifica que Bluetooth esté habilitado en el dispositivo iOS a través de la configuración del sistema. Verifica que los servicios de ubicación estén habilitados, ya que iOS requiere acceso a la ubicación para el escaneo Bluetooth LE aunque el SDK no use funcionalidad GPS.

Mueve el dispositivo iOS más cerca del PIN pad para mejorar la fuerza de la señal. Asegúrate de que la batería del PIN pad tenga suficiente carga. Intenta escanear desde un dispositivo iOS diferente para determinar si el problema es específico del dispositivo o del PIN pad.

Caída de conexión en segundo plano

Si las conexiones Bluetooth se desconectan inmediatamente cuando la pantalla del dispositivo se bloquea o la aplicación entra en modo segundo plano, la aplicación carece de capacidades Bluetooth en segundo plano. Por defecto, iOS suspende las operaciones Bluetooth cuando las aplicaciones pasan a segundo plano.

Habilita el modo de fondo “Uses Bluetooth LE accessories” en tu proyecto Xcode. Navega a la pestaña “Signing & Capabilities” de tu target, haz clic en ”+ Capability”, selecciona “Background Modes”, y marca la casilla “Uses Bluetooth LE accessories”. Esta capacidad permite que tu aplicación mantenga conexiones Bluetooth mientras está en segundo plano.

Las operaciones Bluetooth en segundo plano aumentan el consumo de batería. Solo habilita el modo de fondo si tu aplicación realmente requiere mantener conexiones PIN pad mientras está en segundo plano. Para la mayoría de las aplicaciones de pago, la operación solo en primer plano proporciona una funcionalidad adecuada con mejor rendimiento de batería.

Técnicas avanzadas de depuración

Cuando la solución de problemas básica no resuelve los problemas de conectividad, las técnicas avanzadas de depuración pueden ayudar a identificar las causas raíz.

Restablecer caché Bluetooth de iOS

A veces, la caché Bluetooth del sistema iOS mantiene información de conexión obsoleta que impide establecer nuevos enlaces. Limpiar esta caché a menudo resuelve problemas persistentes de emparejamiento.

Abre la aplicación Configuración en tu dispositivo iOS y navega a la configuración Bluetooth. Localiza el lector PIN pad en la lista de dispositivos: los lectores aparecen típicamente con nombres como “RP-XXXX” o identificadores similares. Toca el icono de información junto al nombre del lector y selecciona “Olvidar este dispositivo” para eliminar los datos de conexión en caché.

Después de olvidar el dispositivo, apaga completamente el Bluetooth y vuelve a encenderlo a través de la configuración de iOS. Esto limpia cualquier estado en caché restante. Regresa a tu aplicación e intenta escanear nuevamente para establecer una conexión nueva.

Monitorizar logs del sistema Bluetooth

Para problemas persistentes, habilita el registro del sistema iOS para capturar datos detallados de comunicación Bluetooth. Conecta tu dispositivo iOS a un Mac ejecutando Xcode y abre la ventana Devices and Simulators. Selecciona tu dispositivo y habilita la opción “Connect via network” para capturar logs inalámbricos.

En la aplicación Consola en tu Mac, filtra los logs por “bluetooth” o “CoreBluetooth” para ver mensajes del sistema Bluetooth de bajo nivel. Estos logs revelan problemas de tiempo, problemas de permisos o errores de comunicación de hardware que no son visibles a través de diagnósticos a nivel de aplicación.

Verificar hardware físico

Si la solución de problemas no resuelve los problemas de conectividad, prueba el dispositivo PIN pad con otro dispositivo iOS o aplicación para verificar la funcionalidad del hardware. Contacta al soporte de Get Mini si el PIN pad falla consistentemente al emparejarse con múltiples dispositivos, ya que esto puede indicar un fallo de hardware que requiere reemplazo o reparación.

Verifica que el firmware del PIN pad esté actualizado a través de las herramientas de soporte de Get Mini. El firmware desactualizado a veces causa problemas de compatibilidad con versiones más nuevas de iOS.

Próximos pasos