【发布时间】:2012-11-13 17:03:21
【问题描述】:
我的 CoreBluetooth 应用程序需要启用客户端特征配置描述符中的“指示位”。这是我所做的:
- 开始扫描
- 开始连接设备
- 致电
discoverServices -
在回调中调用
discoverCharacteristics-(void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error
-
在回调中调用
discoverDescriptorsForCharacteristic-(void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error
-
内部回调
-(void)peripheral:(CBPeripheral *)peripheral didDiscoverDescriptorsForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
我打电话给:
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: 中崩溃。控制台中的错误信息是:
无法使用以下方式编写客户端特征配置描述符 这个方法!
有什么想法吗?谢谢
【问题讨论】:
-
我想知道是否有任何使用 writeVale:forDescriptor 的示例代码。
-
其实我的解决方案是不使用 writeValue:forDescriptor。
-
您能解释一下如何在不使用 writeValue:forDescriptor 的情况下启用指示吗?我被困在同一个地方......
-
你有什么解决办法吗?
标签: ios5 descriptor core-bluetooth