swift - 在 iOS 中使用核心蓝牙每 15 分钟从 BLE 设备获取数据

标签 swift xcode bluetooth ios11

我有一个具体要求,我想在晚上 10:00 到上午 10:00 等一段时间内每 15 分钟从连接的 Ble 设备获取数据。当我的应用程序处于后台且设备被锁定时可以完成此操作吗?显然,用户不会将应用程序保持在前台这么长时间。关于如何实现这一目标的任何建议。

最佳答案

也许可以实现,但不幸的是您需要从设备角度解决这个问题。

每当您需要同步数据时,您的设备都需要唤醒并启动与手机的连接。它会唤醒您的应用程序,甚至在终止时启动它。然后,您可以启动一个标准后台进程,在该进程中您有有限的时间来做任何需要做的事情。完成后,您应该断开与设备的连接并等待重复该过程。

可能会有一些黑客行为,例如使用无声推送通知来唤醒您的应用程序并尝试连接,但 Apple 很可能不允许这样做,而且您的 BT 很有可能在该状态下无法工作。如果您确实需要的话,仍然可以尝试一下。

关于swift - 在 iOS 中使用核心蓝牙每 15 分钟从 BLE 设备获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48517289/

相关文章:

swift - 文档类型关联在应用程序未运行时导致应用程序崩溃

java - 如何在 Android 中声明常量而不使用 public static final

c++ - 如何使用 BlueZ 获取 RSSI?

java - onCharacteristicwrite 中的 Android 蓝牙状态 133

swift - 如何在分配值时使用 Swift 循环遍历整个字母表?

ios - Swift 将变量设置为另一个 ViewController

ios - 在 Xcode 中滚动时固定导航栏

objective-c - 更改 iOS 中的应用程序语言设置而不是整个设备

swift - 为什么我的单元格标签断线太快?

ios - 有什么方法可以在运行时按 UITableView 中的属性对项目进行分组?