CBCharacteristicProperties是什么意思?

时间:2012-08-08 18:54:37

标签: ios core-bluetooth

在iOS CBC特性类参考中,有一个用于返回特征属性的位图的描述。我正在寻找有关其中三个含义的信息。

文档列出如下:

CBCharacteristicProperties

特征的可能属性。

enum {
    CBCharacteristicPropertyBroadcast = 0x01,
    CBCharacteristicPropertyRead = 0x02,
    CBCharacteristicPropertyWriteWithoutResponse = 0x04,
    CBCharacteristicPropertyWrite = 0x08,
    CBCharacteristicPropertyNotify = 0x10,
    CBCharacteristicPropertyIndicate = 0x20,
    CBCharacteristicPropertyAuthenticatedSignedWrites = 0x40,
    CBCharacteristicPropertyExtendedProperties = 0x80,
};

我找不到其他文档或这些属性的列表。

有些是显而易见的,如读,写和通知。广播记录在我发现的其他BLE文档中。

CBCharacteristicPropertyWriteWithoutResponse令人困惑。为什么这是旗帜? CBDevice调用writeValue:forCharacteristic:type:有一个接受以下内容的标志:

enum {
    CBCharacteristicWriteWithResponse = 0,
    CBCharacteristicWriteWithoutResponse,
};

这些标志是多余的,还是必须提供writeValue类型:forCharacteristic:type:匹配CBCharacteristicProperties标志?

此外,CBCharacteristicPropertyIndi​​cate和CBCharacteristicPropertyExtendedProperties是什么意思?

是否有比Apple解释这些内容的文档更好的参考资料?

1 个答案:

答案 0 :(得分:9)

我在Apple Developer论坛上得到了这个答案:

  

有助于理解潜在的具体情况。如果你有   查看4.0规范主机卷中的GATT部分(可用   这里:http://www.bluetooth.org/Technical/Specifications/adopted.htm)   常数应该更清楚   CBCharacteristicPropertyWriteWithoutResponse表示   特征支持“无响应写”子程序。   CBCharacteristicWriteWithoutResponse表示你真的想要   使用'无响应写'子程序。大概是想要   在特征上使用“无响应写入”子程序   不支持它将导致错误。希望有所帮助,

     

作为后续行动,相关文件为Core Version 4.0。请参阅 3.3.1.1特性属性部分。