BLE WroteCharacteristicValue никогда не вызывает - PullRequest
0 голосов
/ 19 апреля 2019

Я пишу приложение для iOS с Xamarin.iOS, но ответ на родном iOS также будет оценен. Мое приложение использует характеристику записи BLE для отправки сообщений между устройствами. Мой код для создания и добавления сервиса в CBPeripheralManager:

_cbPeripheralManager.WriteRequestsReceived += WriteRequestReceived; // WriteRequestReceived is never called

// my read characteristic actually works fine
_readCharacteristic = new CBMutableCharacteristic(CBUUID.FromString(MyReadCharacteristicUuid), CBCharacteristicProperties.Read | CBCharacteristicProperties.Notify, null, CBAttributePermissions.Readable);

// but my write characteristic doesn't work when i try to write to it
_writeCharacteristic = new CBMutableCharacteristic(CBUUID.FromString(MyWriteCharacteristicUuid), CBCharacteristicProperties.Write | CBCharacteristicProperties.Notify, null, CBAttributePermissions.Writeable);

_service = new CBMutableService(CBUUID.FromString(MyServiceUuid), true);
_service.Characteristics = new CBCharacteristic[2] { _readCharacteristic, _writeCharacteristic };

_cbPeripheralManager.AddService(_service);

И мой код для записи характеристики периферийного устройства (не показывая код для обнаружения устройства и услуги / характеристики для простоты)

peripheral.WroteCharacteristicValue += handler; // handler is never called
peripheral.WriteValue(NSData.FromString("hello"), characteristic, CBCharacteristicWriteType.WithoutResponse);

Есть идеи, в чем может быть проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...