Question

Les iBeacons semblent diffuser leur paramètre txPower (rapporte la puissance RSSI à 1 mètre de distance) qui est utilisé dans le calcul beacon.accuracy et beacon.proximity propriétés (les détails sur le paquet de publicités iBeacon peuvent être trouvés ici).

Cependant, CLBeacon la classe ne semble pas avoir de propriété pour txPower.Existe-t-il un moyen d'obtenir txPower en utilisant le framework Core Location, ou dois-je passer à Core Bluetooth ?La raison pour laquelle j'en ai besoin, c'est que je souhaite expérimenter un calcul personnalisé de précision/proximité de la balise pour une découverte très rapide de la portée immédiate de la balise.Dans ces circonstances, inversez le calcul de txPower à partir de accuracy n'est pas une aide.

Était-ce utile?

La solution

Malheureusement, vous ne pouvez pas obtenir cette valeur par programme avec l'un ou l'autre CoreLocation ou CoreBluetooth.Apple bloque l'accès à toutes les données iBeacon avec CoreBluetooth (Voir ma répartition de ceci ici.) De même avec CoreLocation il n'est tout simplement pas exposé dans le CLBeacon classe comme vous l'avez vu.

Puisque vous dites que vous ne pouvez pas faire de calcul inverse, les seules autres façons auxquelles je peux penser pour le faire sont :

  1. Utilisez un appareil Android, OSX Mavericks ou Linux, qui n'offrent aucune restriction de ce type sur la lecture de ce champ.
  2. Créez une table de recherche dans votre application iOS de toutes vos iBeacons (avec des valeurs UUID/majeures/mineures uniques par rapport à.leur valeur txPower)

L'option 2 ci-dessus nécessite évidemment que vous attribuiez des identifiants uniques à toutes vos iBeacons testées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top