IOS читает данные с устройства BLEIOS

Программируем под IOS
Ответить
Anonymous
 IOS читает данные с устройства BLE

Сообщение Anonymous »

Я пытаюсь прочитать данные с устройства BLE, но постоянно получаю сообщение об ошибке разрешения. Демо-проект можно найти здесь: https://github.com/sergiomtzlosa/CoreBluetooth-Demo (имейте в виду - мои коды немного отличаются от этого).

Проблем с подключением и чтением значения в целом нет, но есть некоторые характеристики (которые очень важны) выдают ошибку разрешения.


Журнал консоли: Ошибка обновления!!! Характеристика: «Неизвестно (< fff4 >)»
с ошибкой: «Чтение запрещено».


Итак, когда я подписываюсь или читаю данные по этой характеристике, она каждый раз отправляет мне NULL (вероятная причина: нет разрешения на чтение).


Журнал консоли: Характеристика: «Неизвестно (< fff4 >)» -> со значением:
(null)


Вот сегмент кода:

Код: Выделить всё

//Action on discovering services
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error
{

if (error)
{
NSLog(@"Discovered services for %@ with error: %@", peripheral.name, [error localizedDescription]);
return;
}
for (CBService *service in peripheral.services) {

NSLog(@"Discovereddddddddddd service %@", service.UUID);
[testPeripheral discoverCharacteristics:nil  forService:service];
}
NSLog(@"didDiscoverServicesEnd");
}

//Action on discovered characteristics
- (void)peripheral:(CBPeripheral *)peripheral
didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error {
NSLog(@"didDiscoverCharacteristicsForService!");
for (CBCharacteristic *characteristic in service.characteristics) {
NSLog(@"Discovered characteristic %@", characteristic.UUID);
NSLog(@"---------------------------------------------------");
NSLog(@"Reading value for characteristic %@", characteristic.UUID);
[peripheral readValueForCharacteristic:characteristic];
NSLog(@"+++++++++++++++++++++++++++++++++++++++++++++++++++");
[peripheral setNotifyValue:YES forCharacteristic:characteristic];
}
}

//Action on reading value
- (void)peripheral:(CBPeripheral *)peripheral
didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{
if (error){
NSLog(@"Update error!!! Characteristic: %@ with error: %@", characteristic.UUID, [error localizedDescription]);
return;
}else{
NSData *data = characteristic.value;
NSString *str = [NSString stringWithUTF8String:[data bytes]];
NSLog(@"Characteristic: %@ -> with value: %@", characteristic.UUID, str);
}
}
Что случилось? Есть ли способ преодолеть эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/183 ... ble-device
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»