Моему приложению CoreBluetooth необходимо включить «бит индикации» в дескрипторах конфигурации характеристик клиента. Вот что я сделал:
- Начать сканирование
- Начать подключаться к устройству
- Позвоните
discoverServices
Вызов
discoverCharacteristics
внутри обратного вызова- (void) периферийное устройство: (CBPeripheral *) периферийное устройство didDiscoverServices: (NSError *) ошибка
Вызов
discoverDescriptorsForCharacteristic
внутри обратного вызова- (void) периферийное устройство: (CBPeripheral *) периферийное устройство didDiscoverCharacteristicsForService: (CBService *) ошибка службы: (NSError *) ошибка
Внутренний обратный вызов
- (void) периферийное устройство: (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
:. Сообщение об ошибке в консоли:
Невозможно записать дескрипторы конфигурации характеристик клиента с помощью этого метода!
Любая идея? Спасибо