L'applicazione CoreBluetooth deve abilitare il "bit di indicazione" nei descrittori di configurazione delle caratteristiche del client. Ecco quello che ho fatto:CoreBluetooth writeValue: forDescriptor: problema
- Inizio per eseguire la scansione
- Start per collegarsi al dispositivo
- chiamata
discoverServices
chiamata
discoverCharacteristics
all'interno del callback- (void) periferica: (CBPeripheral *) perifer didDiscoverServices: errore (NSError *)
Chiama
discoverDescriptorsForCharacteristic
all'interno di callb ack- (void) periferica: (CBPeripheral *) didDiscoverCharacteristicsForService periferica: (CBService *) Errore di servizio: (NSError *) Errore
All'interno callback
- (void) periferica: (CBPeripheral *) didDiscoverDescriptorsForCharacteristic periferica: (CBCharacteristic *) errore caratteristica: (NSError *) errore
ho chiamato:
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];
}
Ma la mia app si blocca in writeVale
:. Il messaggio di errore nella console è:
Cannot write Client Characteristic Configuration descriptors using this method!
Qualche idea? Grazie
mi chiedo se non v'è alcun codice di esempio utilizzando writeVale: forDescriptor. –
In realtà la mia soluzione non è usata writeValue: forDescriptor. –
Puoi spiegare come abilitare l'indicazione senza usare writeValue: forDescriptor? Sono bloccato nello stesso posto ... – imcc