2015-11-02 6 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

Привет, yup У меня есть вопрос с моими строками –

ответ

2

После подключения к периферийному устройству вы можете вызвать peripheral.readRSSI() периодически. Это приведет к обратному вызову метода peripheralDidUpdateRSSICBPeripheralDelegate. На этом этапе вы можете получить доступ к свойству RSSI периферии.

Как ни странно, как метод peripheralDidUpdateRSSI делегата и RSSI свойства помечаются как осуждаются в документации, но не предусмотрена никакой альтернативы и никаких предупреждений не дается компилятором при использовании этого метода и свойства, поэтому я подозреваю, что это документация ошибка.

+0

привет, у меня вопрос, как я могу получить значение, вызвав эту функцию? –

+0

Через некоторое время после вызова этой функции вы получите вызов функции CBPeripheralDelegate, 'peripheralDidUpdateRSSI'. Вы должны установить свой объект в качестве делегата периферии и реализовать эту функцию. – Paulw11

+0

Yup я сделал реализацию и делегат, а также. Я использовал func периферийное (периферийное: CBPeripheral !, didReadRSSI RSSI: NSNumber !, error: NSError!) вместо этого, но я хотел бы спросить, как я могу продолжать стрелять в функцию readRSSI всякий раз, когда изменяется номер RSSI? –

Смежные вопросы