嘿伙计们我试图让这个蓝牙LE设备连接到应用程序并获取值。我正在使用Core Bluetooth,它应该可以获得价值。我让它工作但突然间它在更新时停止通知值。
func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
for characteristic in service.characteristics! {
peripheral.setNotifyValue(true, for: characteristic)
print("peripheral did discover characteristics \(characteristic)")
}
}
在委托方法调用中,我将每个CBC特性对象的通知值设置为true。这应该意味着它更新的任何值都应该调用另一个委托方法
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?)
但是这个方法没有被调用。在我添加了一个print语句来打印出每个特性,但是当我将值设置为true时,每个单一特征notify属性仍然设置为NO!
peripheral did discover characteristics <CBCharacteristic: 0x1700ac0c0, UUID = 28930002-C868-423A-9DC2-E9C2FCB4EBB5, properties = 0x12, value = (null), notifying = NO>
我错过了什么吗?提前致谢
答案 0 :(得分:0)
您可以实施func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error: Error?)
以查看对{{1}}的调用是否真正成功