ios - BLE WroteCharacteristicValue 从不调用
问题描述
我正在用 Xamarin.iOS 编写一个 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);
知道问题可能是什么吗?
解决方案
推荐阅读
- azure - 构建 Docker 映像时 Azure 管道“权限被拒绝”
- python - 如何使用 Selenium Python 保存播放音频
- python - 我们如何跨步骤使用数据表?
- unity3d - 将渲染纹理分配给相机 - Unity
- python - Python Selenium,find_element_by_id,但 id 改变
- python - 在破折号(熊猫)中提取df以进行多项选择
- python - Scrapy 在处理所有 url 之前完成进程
- r - R:ggplot2 stat_bindot 替代圆/圆点 - 产生错误
- node.js - 开玩笑设置 beforeAll 运行多次,但在 setupFilesAfterEnv 中调用
- c++ - 如何从 qt 应用程序 (c++) 打开可执行文件