Frage

iBeacons scheinen ihren txPower-Parameter zu senden (RSSI-Leistung in 1 Meter Entfernung melden), der bei der Berechnung verwendet wird beacon.accuracy Und beacon.proximity Eigenschaften (Details zum iBeacon-Werbepaket finden Sie hier Hier).

Jedoch, CLBeacon Die Klasse scheint keine Eigenschaft für txPower zu haben.Gibt es eine Möglichkeit, txPower mithilfe des Core Location-Frameworks zu erhalten, oder muss ich auf Core Bluetooth umsteigen?Der Grund, warum ich das benötige, ist, dass ich mit der benutzerdefinierten Genauigkeits-/Näherungsberechnung von Beacons experimentieren möchte, um eine sehr schnelle Erkennung der unmittelbaren Reichweite von Beacons zu erreichen.Unter diesen Umständen wird die Berechnung von txPower umgekehrt accuracy ist kein Helfer.

War es hilfreich?

Lösung

Leider können Sie diesen Wert auch nicht programmgesteuert abrufen CoreLocation oder CoreBluetooth.Apple blockiert den Zugriff auf alle iBeacon-Daten mit CoreBluetooth (Siehe meine Aufschlüsselung davon Hier.) Ebenso mit CoreLocation es wird einfach nicht in der angezeigt CLBeacon Klasse, wie Sie gesehen haben.

Da Sie sagen, dass Sie keine umgekehrte Berechnung durchführen können, fallen mir nur andere Möglichkeiten ein, dies zu tun:

  1. Verwenden Sie ein Android-, OSX Mavericks- oder Linux-Gerät, das keine derartigen Einschränkungen beim Lesen dieses Feldes bietet.
  2. Erstellen Sie in Ihrer iOS-App eine Nachschlagetabelle aller Ihrer iBeacons (mit eindeutigen UUID-/Haupt-/Nebenwerten vs.ihr txPower-Wert)

Option 2 oben erfordert natürlich, dass Sie allen zu testenden iBeacons eindeutige Kennungen zuweisen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top