在iOS7.1.1上,以下BLE操作成功 - 它假设我有一个BLE连接设置等...
[[self peripheral]writeValue:dataToWrite forCharacteristic:nextCharacteristic type:CBCharacteristicWriteWithResponse];
但如果我将“type”切换为CBCharacteristicWriteWithoutResponse
,我会收到以下警告,并且外设没有收到命令:(
[[self peripheral]writeValue:dataToWrite forCharacteristic:nextCharacteristic type:CBCharacteristicWriteWithoutResponse];
错误:
CoreBluetooth[WARNING] Characteristic <CBCharacteristic: 0x178081f90 UUID = 249C2001-00D7-4D91-AC75-22D57AE2FFB8, Value = (null), Properties = 0x28, Notifying = YES, Broadcasting = NO> does not specify the "Write Without Response" property - ignoring response-less write**
任何线索都表示赞赏!
答案 0 :(得分:5)
当BLE外围设备宣传特征时,广告包括这些特征的属性。其中包括该特性支持的操作 - 无响应读取,通知,写入和响应写入。
在这种情况下,似乎该特性支持使用响应写入但不支持无响应写入,因此当您尝试写入而没有响应时,您将收到警告并且写入操作无法完成