2015-11-02 51 views
0

我是corebluetooth的新手。我的目标是不断读取连接设备的RSSI号码。我可以一次读取RSSI号码,但是我不知道如何初始化以不断读取RSSI号码。有人可以建议吗?以下是到目前为止我的代码不断更新RSSI号码swift

func centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!) { 
    self.connectingPeripheral = peripheral 
    centralManager.stopScan() 
    self.centralManager.connectPeripheral(peripheral, options: nil) 
    ConnectingLabel.hidden = false 
    println(peripheral) 
    println(RSSI) 
} 
+0

你有代码示例显示你如何阅读RSSI *现在*? –

+0

你好,我已经更新我的问题的代码行 –

回答

2

一旦你连接到外围,你可以定期调用peripheral.readRSSI()。这将导致回调到方法peripheralDidUpdateRSSICBPeripheralDelegate方法。此时您可以访问外设的RSSI属性。

奇怪的是,无论是peripheralDidUpdateRSSI委托方法和RSSI财产被标记为过时的文档中,但没有提供替代方案,当您使用此方法和属性没有警告是由编译器给定的,所以我怀疑它是一个文档错误。

+0

嗨,我有一个问题,我怎么能通过调用这个函数来获取值? –

+0

在您调用该函数一段时间后,您将调用CBPeripheralDelegate函数'peripheralDidUpdateRSSI' - 您需要将对象设置为外设的委托并实现此功能。 – Paulw11

+0

是的,我也做了实现和委托。我用func外围设备(外设:CBPeripheral!,didReadRSSI RSSI:NSNumber !,错误:NSError!),但我想问一下,如何RSSI数字更改时继续触发readRSSI函数? –