iBeacon:获取RSSI wit coreBluetooth

时间:2015-05-20 07:58:47

标签: swift core-bluetooth ibeacon

是否可以仅使用coreBluetooth获取信标的RSSI值?

我已经实现了以下代码:

let manager = CLLocationManager()
var peripheralManager = CBPeripheralManager()
var advertisedData:NSDictionary = NSDictionary()

//test if there is a working bluetooth connection
func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager!) {
    switch peripheral.state {
    case CBPeripheralManagerState.PoweredOn:
        self.peripheralManager.startAdvertising(self.advertisedData as [NSObject : AnyObject])

        println("success")
    default: println("default")
    }
}

现在我可以测试一下,如果蓝牙被激活了。但是我怎样才能获得信标的RSSI值?是否仅可以使用CoreLocation?

1 个答案:

答案 0 :(得分:0)

CLBeacon有一个属性rssiApple's Doc中有更多信息。

CBPeripheral具有RSSI属性,在iOS8中已弃用,Apple建议改为使用readRSSI

通常,您应该通过CLBeacon(CoreLocation.framework)阅读您的iBeacons值,我建议您使用rssi。如果您通过蓝牙低功耗(CoreBluetooth.framework)控制iBeacon,请使用readRSSI