我已经仔细查看了这个问题,但是似乎没有人遇到过。
我有两个iPad。其中一个充当始终在前景的蓝牙外设。由于我更关心中央方面,因此我将我的中央iPad设置为支持BLE-central的后台功能。我的工作流程如下:
- 中央应用程序运行并开始扫描
- 外设广告服务(或进入范围内)
- 中央设备连接到外设并停止扫描
- 外设停止广告(或离开范围)
- 中央设备断开连接并开始扫描
- 在中央处于前景或后景时,无缝执行步骤1-5
当我运行中央iPad应用程序时,步骤3和5每10秒重复一次,即使服务整个时间都在被广告。这发生在前景和后景中。
断开连接时,我会收到以下错误:
Error occurred while disconnecting peripheral: The specified device has disconnected from us.
你有没有想过为什么它会一直断开连接?如果没有传输数据,CoreBluetooth是否会清除连接?目前,我的中心设备只是单次读取外围设备的特征值。它没有订阅更新,因为这些值是静态的。
感谢!
peripheral.setNotifyValue(true, for: characteristic)
),如果没有数据传输,连接仍然会在一段时间后丢失,你能告诉我你的解决方案吗? - Gocy015