Will peripheral:didUpdateValueForCharacteristic:error: ever pass an error if the CBCharacteristic's isNotifying is YES?

Will peripheral:didUpdateValueForCharacteristic:error: ever pass an error if the CBCharacteristic's isNotifying is YES?

当特征的isNotifying 属性设置为YES时,是否存在CBPeripheralDelegateperipheral:didUpdateValueForCharacteristic:error:会返回错误的情况?

显然,这在发送显式读取请求的上下文中是有意义的,但是如果外设的特征是通知中央并且中央成功接收到通知,那么似乎不可能出现错误.

该方法的文档没有为此添加任何详细信息。

查看可能的 Core Bluetooth Attribute Errors 大多数似乎不适用。我能看到的可能(如果不太可能)是 -

  • CBATTErrorUnlikelyError

The ATT request has encountered an unlikely error and therefore could not be completed.

这似乎是一种万能的 "something went wrong" 和

  • CBATTErrorInsufficientResources

Resources are insufficient to complete the ATT request.

至少你应该检查一个非零错误并且在这种情况下不处理更新。我认为在向此方法报告错误的大多数情况下,您可能会断开连接。