OGeek|极客世界-中国程序员成长平台

标题: iOS 在未运行状态下从 BLE 获取数据 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 21:45
标题: iOS 在未运行状态下从 BLE 获取数据

我在前台和后台状态下成功地从 BLE 获取数据。并且也调用了核心蓝牙框架各自的委托(delegate)方法。

用户强制退出应用程序后,我想要来自 BLE 设备的数据。是否可以在非运行状态下从 BLE 获取数据?或者有没有像 iBeacon 这样在非运行状态下调用的方法?



Best Answer-推荐答案


除非使用 iBeacon BLE 设备,否则我认为这是不可能的。如 Understanding When Your App Gets Launched into the Background 中所述部分:

Apps that support background execution may be relaunched by the system to handle incoming events. If an app is terminated for any reason other than the user force quitting it, the system launches the app when one of the following events happens:

For Bluetooth apps:

In most cases, the system does not relaunch apps after they are force quit by the user. One exception is location apps, which in iOS 8 and later are relaunched after being force quit by the user. In other cases, though, the user must launch the app explicitly or reboot the device before the app can be launched automatically into the background by the system. When password protection is enabled on the device, the system does not launch an app in the background before the user first unlocks the device.

所以当应用程序被用户而不是系统强制退出时,这意味着用户不希望应用程序在后台运行并且应用程序不会重新启动并且不会调用委托(delegate).

但如果应用程序被系统杀死,iOS 将在调用委托(delegate)时再次处理唤醒它。

关于iOS 在未运行状态下从 BLE 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54103360/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4