草庐IT

ios - 连接到 iOS 的蓝牙外设在后台不工作

我在使用后台iOS应用程序的蓝牙外围设备时遇到问题。我需要应用程序实时响应所有蓝牙通知。我关注了Apple'sCoreBluetoothbackgroundprocessguide大约10%的时间我的应用程序在后台工作,但其他90%的时间事件排队并每10分钟分批发送到我的应用程序。我只需要在蓝牙事件后通过wifi快速触发本地子网网络请求,因此iOS可以在10秒内让应用程序在后台运行。至于CoreBluetooth设置,我严格按照指南进行操作,它偶尔会在后台运行。但它还会对通知进行批处理并每十分钟重新启动我的应用程序,这让我认为它配置正确。我可以确认该应用没有被终止。我可以保持调试器连接

iOS:蓝牙 LE 外设在回到范围内后不再更新

我编写了一个从TISensorTag读取数据的iOS应用程序。按照Apple在“核心蓝牙编程指南”中提供的建议,我通过调用外围对象的setNotifyValue:forCharacteristic:方法订阅了服务特性的值。外围设备会定期调用peripheral:didUpdateValueForCharacteristic:error:方法来通知我感兴趣的值已更改,我阅读了它,如文档中所述。当我将iOS设备移动到距SensorTag一定距离时,didUpdateValueForCharacteristic方法停止调用(显然),因为两者“超出范围”。但是当我将设备移回“范围内”时,更新不