CoreBluetooth アプリケーションでは、Client Characteristic Configuration 記述子で「表示ビット」を有効にする必要があります。これが私がしたことです:
- スキャンを開始
- デバイスへの接続を開始します
- 電話
discoverServices
コール
discoverCharacteristics
バック内で呼び出す-(void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)エラー
コール
discoverDescriptorsForCharacteristic
バック内で呼び出す-(void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)サービス エラー:(NSError *)エラー
内部コールバック
-(void)peripheral:(CBPeripheral *)peripheral didDiscoverDescriptorsForCharacteristic:(CBCharacteristic *)characteristic error:(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
ます。コンソールのエラー メッセージは次のとおりです。
このメソッドを使用して Client Characteristic Configuration 記述子を書き込めません!
何か案が?ありがとう