是否可以仅使用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?
答案 0 :(得分:0)
CLBeacon
有一个属性rssi
,Apple's Doc中有更多信息。
CBPeripheral
具有RSSI
属性,在iOS8中已弃用,Apple建议改为使用readRSSI
。
通常,您应该通过CLBeacon
(CoreLocation.framework)阅读您的iBeacons值,我建议您使用rssi
。如果您通过蓝牙低功耗(CoreBluetooth.framework)控制iBeacon,请使用readRSSI
。