我正在研究corebluetooth框架,目前我已经创建了具有可写和可读特性的外设。它对我来说很好。但我想创建读写外设。我试过以下:
characteristic = [[CBMutableCharacteristic alloc] initWithType:characteristicUUID
properties:(CBCharacteristicPropertyRead|CBCharacteristicPropertyWrite)
value:nil
permissions:(CBAttributePermissionsWriteable|CBAttributePermissionsReadable)];
但它在上述案例中不起作用,该属性既不是可读的,也不是可写的。我认为它是第一个。我错过了什么吗?
答案 0 :(得分:0)
你应该检查一些事情:
确保在使用方法- (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type
时,您使用的CBCharacteristicWriteType应与CBCharacteristic属性匹配。
在您的外围设备实施中,
- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveWriteRequests:(NSArray *)requests
,
确保你没有这个宝石:`
[peripheral respondToRequest:request withResult:CBATTErrorWriteNotPermitted];
我从CoreBluetooth编程指南中复制了它,它让我搞砸了整整一个小时。