2017-07-12 17 views
0

我正在开发使用iBeacons的iOS应用程序。 据我所知,当一个输入事件被触发时(当iPhone检测到具有特定UUID的iBeacon时),我的应用可以被唤醒到背景。 我可以使用它自己发送信标信号吗? (所有的手机被锁定时)iOS响应iBeacon输入事件并发送自己的iBeacon信号

我知道我的应用在被enter事件唤醒后只能在后台播放几秒钟,但通常这应该有足够的时间发送信标信号。

任何帮助,高度赞赏。提前致谢。

回答

0

不幸的是,iOS设备在后台时无法发送标准iBeacon传输。虽然您可以执行代码来执行此操作,并且iOS将进行传输,但后台传输将不会被其他设备检测为iBeacons。

为什么? CoreBluetooth使用专有技术将所有背景应用程序的蓝牙广告汇总到单个广告中。这是设计用于广告加特服务,它有打破iBeacon格式的副作用。

+0

好的,谢谢你的答案。 从我的答案我明白,即使它不是iBeacon格式,也可以通过蓝牙发送一些内容。这意味着我无论如何都能检测到这个信息,对吗? – Philipp

+0

是的,您可以使用CoreBluetooth检测该消息。但我认为你不会觉得它非常有用,因为它不会包含任何可用于将其识别为来自另一部手机的信息。看到我的答案在这里:https://stackoverflow.com/a/34225768/1461050 – davidgyoung

+0

其实我计划检测从Raspberry Pi手机的答案。那么是否有可能发回一个包含一些标识符的消息,然后发送某种有效载荷,并通过Pi理解? (例如“1234567890 - '了解'”) 所有这些都是实际连接手机和覆盆子的方法,因为我认为在手机停留在口袋里时这是不可能的。请纠正我,如果这是错误的,或者如果你有任何想法如何实现这一点。非常感谢 – Philipp