私のCoreBluetoothアプリケーションは、クライアント特性設定記述子で「表示ビット」を有効にする必要があります。ここに私がやったことです:CoreBluetooth writeValue:forDescriptor:issue
- スタート
- スタートをスキャンするために、コールバック
内のデバイス
- コール
discoverServices
コール
discoverCharacteristics
に接続するために - 周辺機器(無効):(CBPeripheral *)周辺機器発見サービス:(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