0

我创建了一个充当 CBPeripheral 的应用程序。我正在尝试在连接的 Central 上显示服务和特性的名称,但我无法找到执行此操作的方法。我已经阅读了 CBCharacteristic 的类参考,它们没有像名称这样的变量。它们是一些描述符变量,但它们用于以人类可读格式显示特征值。所以我想知道,如何创建一个 CBMutable 特性,以便它的名称显示在 Central 设备上。任何人都可以帮忙。

这是我创建特征的代码

var characteristic = CBMutableCharacteristic(type: charId, properties: charProperties, value: nil, permissions: CBAttributePermissions.Readable|CBAttributePermissions.Writeable)
4

1 回答 1

2

经过更多研究后,我找到了一种方法,我们可以在描述符的帮助下在中央端的外围端显示我们创建的 CBCharacteristic 的名称。目前仅支持这两种描述符类型:CBUUIDCharacteristicUserDescriptionString 或 CBUUIDCharacteristicFormatString。

    var charId:CBUUID = CBUUID("D1FE4DDF-61A7-47F6-81BA-29B223F34322")
    var characteristic = CBMutableCharacteristic(type: charId, properties: charProperties, value: nil, permissions: CBAttributePermissions.Readable|CBAttributePermissions.Writeable)
    let userDescriptionUuid:CBUUID = CBUUID(string:CBUUIDCharacteristicUserDescriptionString)
    var myDescriptor = CBMutableDescriptor(type:userDescriptionUuid, value:"your descriptor name")
    characteristic.descriptors = [myDescriptor]
于 2015-04-13T11:02:25.430 回答