Pregunta

Los iBeacons parecen transmitir su parámetro txPower (informar potencia RSSI a 1 metro de distancia) que se utiliza para calcular beacon.accuracy y beacon.proximity propiedades (se pueden encontrar detalles sobre el paquete de anuncios de iBeacon) aquí).

Sin embargo, CLBeacon La clase no parece tener una propiedad para txPower.¿Hay alguna manera de obtener txPower usando el marco Core Location, o necesito bajar a Core Bluetooth?La razón por la que necesito esto es que quiero experimentar con el cálculo personalizado de precisión/proximidad de la baliza para un descubrimiento muy rápido del alcance inmediato de la baliza.En estas circunstancias, invierta el cálculo de txPower a partir de accuracy no es de ayuda.

¿Fue útil?

Solución

Desafortunadamente no puedes obtener este valor mediante programación con ninguno de los dos CoreLocation o CoreBluetooth.Apple bloquea el acceso a todos los datos de iBeacon con CoreBluetooth (Vea mi desglose de esto aquí.) Lo mismo ocurre con CoreLocation simplemente no está expuesto en el CLBeacon clase como has visto.

Como usted dice que no puede hacer un cálculo inverso, las únicas otras formas que se me ocurren para hacerlo son:

  1. Utilice un dispositivo Android, OSX Mavericks o Linux, que no ofrecen restricciones para leer este campo.
  2. Haga una tabla de búsqueda en su aplicación iOS de todos sus iBeacons (con valores UUID/mayores/menores únicos vs.su valor txPower)

La opción 2 anterior obviamente requiere que asigne identificadores únicos a todos sus iBeacons bajo prueba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top