2

我正在使用的系统使用以下场景:

  1. 连接蓝牙 LE 设备
  2. 发现服务和特点
  3. 将命令写入 TX 特性并接收响应

以上工作正常 90% 的时间。系统有时会进入第三步不断失败的状态(即使第 1 步和第 2 步成功,设备也没有任何响应。重新启动应用程序/电话/BLE 设备并不能解决这个问题。阻塞是恒定的。什么解决了问题是从 iOS 系统设置中手动取消配对设备。查看 BLE 诊断日志我得到了这个:

“pon.mar 7 21:27:30 首选项 [380]:[CoreBluetooth] API 误用:只能在连接状态下接受命令”

但是,在发送命令之前,我已经调试了应用程序,并且我 100% 已建立连接并且发现了服务和特性。任何想法?有人面临类似的问题吗?

4

1 回答 1

1

您是否centralManager:didDisconnectPeripheral:error:在中央经理委托中实施?

它会在外围设备断开连接时通知您。可能是外围设备断开或连接错误。您应始终确保仅在连接状态下进行读/写操作。

也许也看看这个方法:centralManager:didFailToConnectPeripheral:error:

于 2016-03-09T08:29:02.623 回答