【发布时间】:2014-10-04 12:17:34
【问题描述】:
我注意到 scanForPeripheralsWithServices 不在后台工作。我尝试了以下操作:
- 指定的 UUID 和选项 nil
- 设置 UIBackgroundModes bluetooth-central 和 bluetooth-peripheral info.plist
我想要一个可以在后台连续扫描 BLE 设备的后台服务。 感谢您的帮助!
【问题讨论】:
我注意到 scanForPeripheralsWithServices 不在后台工作。我尝试了以下操作:
我想要一个可以在后台连续扫描 BLE 设备的后台服务。 感谢您的帮助!
【问题讨论】:
背景模式在扫描时的工作方式不同。
每个外围设备仅在第一次被观察到时才报告(在后台模式下,如果不连接到它,您将无法通过 RSSI 跟踪接近度)。
您可以向不在范围内的外围设备发起连接请求,当外围设备可用时,连接将完成。不必主动扫描(初始发现除外,因此您知道要连接哪个 UUID)。
也许,您可以通过在后台发送连接请求而不是扫描来解决问题。这样一来,iOS 就知道您对特定外围设备真正感兴趣,我可以想象这会影响发现时间。
【讨论】:
[peripheral readRSSI]; (stackoverflow.com/questions/14933688/…)