在写完noResponse

时间:2016-07-10 23:16:45

标签: ios core-bluetooth

我们看到的情况是没有回复地写数据:

peripheral.writeValue(data, forCharacteristic: characteristic, type: .WithoutResponse)

仍然收到回调:

func peripheral(peripheral: CBPeripheral, didWriteValueForCharacteristic characteristic: CBCharacteristic, error: NSError?) {

错误是nil,char是我们刚写入的那个(.WithoutResponse)。使用.WithResponse编写也可以获得回调。

什么可能导致这种行为?

iOS 9.3,iPhone 6s +,Xcode 7.3.1,iOS Central,Ti CC2640 BLE Stack 2.1.0外围设备

更新1:

特征上的属性是:.WriteWithoutResponse,.Write,.Notify(通过characteristic.properties验证)

1 个答案:

答案 0 :(得分:0)

在iOS10.0和iOS10.1上就是我的情况。在2016年11月14日发布的iOS10.2 beta3上,情况恢复正常。

有关iOS10.0 10.1下CoreBluetooth状态机错误的更多详细信息,请访问:https://forums.developer.apple.com/thread/51960