2

我正在研究 corebluetooth 框架,目前我已经创建了具有可写和可读特性的外围设备。它对我来说工作正常。但是我想创建读写外围设备。我尝试了以下操作:

characteristic = [[CBMutableCharacteristic alloc] initWithType:characteristicUUID
                                                                  properties:(CBCharacteristicPropertyRead|CBCharacteristicPropertyWrite)
                                                                       value:nil
                                                                 permissions:(CBAttributePermissionsWriteable|CBAttributePermissionsReadable)];

但它在上述情况下不起作用,该属性也是可读或可写的,不能同时读取。我认为它是第一个。我错过了什么吗?

4

1 回答 1

0

您应该检查的几件事:

  1. 确保当您使用方法时- (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type,您使用的 CBCharacteristicWriteType 应该与 CBCharacteristic 属性匹配。

  2. 在您的外围实现中,

- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveWriteRequests:(NSArray *)requests,

确保你没有这个宝石:`

[peripheral respondToRequest:request withResult:CBATTErrorWriteNotPermitted];

我从 CoreBluetooth 编程指南中复制了它,它把我搞砸了整整一个小时。

于 2013-12-17T01:23:50.243 回答