2015-11-02 57 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函數? –