我的CoreBluetooth应用程序需要启用客户端特征配置描述符中的“指示位”。下面是我做的:CoreBluetooth writeValue:forDescriptor:issue
- 开始扫描
- 开始连接到设备
- 呼叫
discoverServices
呼叫
discoverCharacteristics
回调内 - (空)周:(CBPeripheral *)外设didDiscoverServices:(NSError *)错误
呼叫
discoverDescriptorsForCharacteristic
内部callb ACK- (空)周:(CBPeripheral *)外围didDiscoverCharacteristicsForService:(CBService *)服务错误:(NSError *)错误
内回调
- (空)周:(CBPeripheral * )外围didDiscoverDescriptorsForCharacteristic:(CBCharacteristic *)特性误差:(NSError *)错误
我称为:
if ([[descriptor.UUID representativeString] isEqualToString:@"2902" ])
{
const unsigned char raw_data[] = {0x02};
NSData *myData = [NSData dataWithBytes: raw_data length: 2];
[self.cBCP writeValue:myData forDescriptor:descriptor];
}
但我的应用程序崩溃在writeVale
:。控制台中的错误信息是:
Cannot write Client Characteristic Configuration descriptors using this method!
任何想法?谢谢
我想知道是否有任何示例代码使用writeVale:forDescriptor。 –
其实我的解决方案是不使用writeValue:forDescriptor。 –
你能解释一下如何在不使用writeValue:forDescriptor的情况下启用指示吗?我被困在同一个地方... – imcc