我正在研究corebluetooth框架,目前我已创建具有可写和可读特性的外围设备。它对我来说很好。但是我想创建读写外围设备。我尝试了以下操作:
characteristic = [[CBMutableCharacteristic alloc] initWithType:characteristicUUID
properties:(CBCharacteristicPropertyRead|CBCharacteristicPropertyWrite)
value:nil
permissions:(CBAttributePermissionsWriteable|CBAttributePermissionsReadable)];
但它在上述情况下不起作用,该属性一次也不可读或可写。我认为这是第一个。我想念什么吗?
最佳答案
您应该检查以下几点:
- (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编程指南》中复制了该文档,这使我整整整整一个小时不知所措。