收藏
回答

IOS蓝牙writeBLECharacteristicValue报错1004

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug writeBLECharacteristicValue 客户端 7.0.6 2.7.0

- 当前 Bug 的表现(可附上截图)

手机:iphone 6

系统:IOS 12.2

条件:在预先知道serviceId(服务ID)和characteristicId(写入特征ID)的情况下。

操作流程:初始化蓝牙模块(openBluetoothAdapter)-> 连接蓝牙设备(createBLEConnection) -> 写入数据(writeBLECharacteristicValue

返回结果:1004 (没有找到指定服务


PS:更改操作流程即可写入成功。

操作流程:初始化蓝牙模块(openBluetoothAdapter)-> 连接蓝牙设备(createBLEConnection) ->读取服务(getBLEDeviceServices)->根据服务ID获取特征(getBLEDeviceCharacteristics)-> 写入数据(writeBLECharacteristicValue

返回结果:0 (正常

预测问题:在IOS系统下,只有当调用getBLEDeviceServices和getBLEDeviceCharacteristics后才能调用writeBLECharacteristicValue;估计是只有当调用getBLEDeviceServices和getBLEDeviceCharacteristics的时候才会填充设备连接的服务ID和特征ID,之后调用写入方法的时候小程序会自己和内部数据对比服务ID是否存在,因此导致调用写入方法的时候会报错1004

- 预期表现

操作流程:初始化蓝牙模块(openBluetoothAdapter)-> 连接蓝牙设备(createBLEConnection) -> 写入数据(writeBLECharacteristicValue

返回结果:0 (正常)

- 复现路径

手机:iphone

系统:IOS

条件:在预先知道serviceId(服务ID)和characteristicId(写入特征ID)的情况下。

操作流程:初始化蓝牙模块(openBluetoothAdapter)-> 连接蓝牙设备(createBLEConnection) -> 写入数据(writeBLECharacteristicValue

- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容