Запись в дескрипторы BLE на устройстве iOS - PullRequest
0 голосов
/ 20 сентября 2018

Я создал простое приложение, и мое требование - записать дескриптор на периферию, чтобы получить данные датчика.В документации Apple есть метод writeValue(data:Data, descriptor: CBDescriptor), но когда я пытаюсь его выполнить, я получаю NSException с заявлением

"Завершение приложения из-за необработанного исключения" NSInternalInconsistencyException ", причина:" КлиентДескрипторы конфигурации характеристики должны быть настроены с использованием setNotifyValue: forCharacteristic: '".

Может кто-нибудь подсказать, пожалуйста, как написать дескриптор?

1 Ответ

0 голосов
/ 17 мая 2019

Вместо того, чтобы звонить WriteValue, вы должны позвонить SetNofifyValue.

Я использую Xamarin, и код выглядит следующим образом (это должен быть тот же принцип для xcode)

void SwitchNotify(CBCharacteristic mychar,bool SwitchOn)
{
    mychar.Service.Peripheral.SetNotifyValue(SwitchOn,mychar);
}

Я не уверен, есть ли способ написания дескрипторов напрямую или почему Apple решила разрешить уведомление / указание только с помощью этого метода.Android и Windows (UWP) позволяют прямое написание дескрипторов.

...