iOS蓝牙背景模式

hug*_*gie 8 bluetooth ios bluetooth-lowenergy

我希望继续扫描蓝牙设备,我希望应用程序在后台运行.可能吗?好像我有一个连接的蓝牙设备,如果有数据传输,那么该应用程序在后台保持清醒状态.但是,如果我只是在后台扫描,似乎即使我已经Uses Bluetooth LE accessories检查(bluetooth-central在plist中),应用程序最终也没有运行.

有没有办法让应用程序保持活动状态并在设备处于后台时连续扫描设备?

mic*_*rus 8

如果您的应用程序不会在Apple Store上发布,您可以使用此处说明的任何后台模式.如果您不了解iOS中的后台执行,请阅读整篇文章 - 您必须知道这是iOS开发人员.

您似乎还不完全了解Core Bluetooth在后台如何工作,所以请阅读本文.

简而言之:您需要有充分的理由让您的应用程序无限期地在后台运行并被Apple Store Review接受.

编辑:

OP意味着设备不会被唤醒.解决方案:您需要在CoreBluetooth中侦听特定的BLE服务才能获得唤醒.

  • 您不需要使用iBeacon.请记住,要醒来,你需要倾听特定的服务uuid​​,而不是每个外围设备! (3认同)

Dhr*_*ngh 2

根据苹果开发者文档技术问答。

当我的应用程序在后台运行时,我可以使用 iOS 设备发布 iBeacon 广告吗? 答案:不可以。对于要发布 iBeacon 广告的 iOS 设备,请求此功能的应用程序必须位于最前面,并且屏幕打开且设备解锁。

参考 - https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf

我发现这篇文章提供了一些针对某些特定情况在后台连接 BLE 的详细信息。 https://medium.com/@cbartel/ios-scan-and-connect-to-a-ble-peripheral-in-the-background-731f960d520d