- 当前 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