我试图解决的基本问题如下。我有两台 iOS 设备,一台配置为中央设备,另一台配置为外围设备。我希望外围设备知道中央是否因某种原因移开或变为非活动状态(例如运行中央的设备已关闭)。
在正常情况下,我进行了设置,以便当中心靠近外围设备时,中心可以使用信标区域和测距通过特征写入通知外围设备(CLProximityImmediate),然后当它仍在范围内但距离很远(CLProximityFar)时再次出现。这很好用。
但是,当中央设备从 CLProximityImmediate 变为某个未知状态时,为了捕捉角落状况,我计划使用中央设备可以响应的外围设备的周期性指示。如果对指示没有响应,则外围设备可以假定中央不再紧邻。但是,我找不到通知外围管理器指示失败的回调或委托方法。
updateValue:forCharacteristic:onSubscribedCentrals: 方法在底层传输队列已满时返回 NO - 而不是因为中央没有响应,我理解它的方式。
我在这里遗漏了一些明显的东西吗?外围管理器有没有办法告诉中央没有收到指示?或者这种情况下 CoreBluetooth 中是否缺少回调?
谢谢你的帮助!