Ios 核心蓝牙在后台模式下连续接收来自外围设备的数据超过80小时

Ios 核心蓝牙在后台模式下连续接收来自外围设备的数据超过80小时,ios,bluetooth-lowenergy,background-process,core-bluetooth,rxbluetooth,Ios,Bluetooth Lowenergy,Background Process,Core Bluetooth,Rxbluetooth,我正在开发一款保健产品,通过帮助ECG检测外围设备和iOS应用程序,获得接收ECG数据的亲身体验 该应用程序将安装在患者的iPhone/iPad上,患者将拥有一个BLE附件,该附件将向移动应用程序发送ECG数据,患者甚至可以进行72小时的ECG测试,在这种情况下,我不能强迫患者在所有72小时内只在前台使用该应用程序。因此,我将数据接收部分从BLE附件移到了后台。因此,即使在后台,应用程序也会从BLE外围设备接收ECG数据。但是,当用户使用其他需要大量资源的应用程序时,iOS会停止后台操作以接收E

我正在开发一款保健产品,通过帮助ECG检测外围设备和iOS应用程序,获得接收ECG数据的亲身体验


该应用程序将安装在患者的iPhone/iPad上,患者将拥有一个BLE附件,该附件将向移动应用程序发送ECG数据,患者甚至可以进行72小时的ECG测试,在这种情况下,我不能强迫患者在所有72小时内只在前台使用该应用程序。因此,我将数据接收部分从BLE附件移到了后台。因此,即使在后台,应用程序也会从BLE外围设备接收ECG数据。但是,当用户使用其他需要大量资源的应用程序时,iOS会停止后台操作以接收ECG数据。请帮我解决这个问题。我们是否有类似Android的服务,即使应用程序不活动或应用程序进入后台,也会持续运行该过程。操作系统永远不会停止操作。

您是否采用了核心蓝牙状态恢复?只要外围设备使用指示/通知新数据,它就应该适用于您。但是,您不能真正依靠iOS来执行连续的后台蓝牙传输。我本以为一种更可靠的方法是让设备将数据存储在板上,并在录制完成后将其传输到iOS应用程序。这也将处理手机不在外设范围内、变平等情况。我以前没有这样做过,但当应用程序启动时,我知道我以前连接时获得的UDID,再次保持该UDID,我正在建立连接,并且工作正常。感谢更新状态恢复,我将对此进行调查。我需要知道当我在info plist中添加带有蓝牙中心和蓝牙外围设备的UIBackgroundModes时,操作系统会在后台启动应用程序吗?。然而,当内存需要警告到来时,我相信操作系统肯定会释放后台应用程序,当内存空闲时,它会再次尝试在后台启动吗?这就是为什么你需要状态恢复。这样可以确保iOS在有蓝牙活动时重新启动您的应用程序