Objective-C - 检测iBeacon Connections(iPad广告)



我有一个iPad作为给定区域的iBeacon Advertiser。我想知道是否有办法检测(在我的iPad中)是否有任何设备进入该区域,如果可能,我可以从该设备获得什么样的信息?我已经阅读了文档(CoreLocationCoreBluetooth),我可以找到任何东西。

问候!

对你的问题的简短回答是否定的。信标广告是单向广播.接收设备不会发回任何内容(至少不会自动发送)。

更长的答案是,您可以为此构建解决方案。您需要为接收应用程序编写代码,该代码将检测进入信标区域并通过发送自己的 BLE (蓝牙低功耗) 传输来响应.

您可以让您的接收设备在检测到您的 iPad 时宣传它自己的信标信号,或者您可以将接收设备开始"广告"作为 BLE"外围设备"(这些是这些东西的 BLE 术语。

BLE是为双向通信而设置的, 但iBeacons不是. iBeacons是一个非常简单的, 建立在BLE之上的有限API.

查看Apple的示例以了解iBeacons的工作原理。你可以做你想做的事,但有限制。

去这里:

https://developer.apple.com/downloads/index.action?name=WWDC%202013

查看名为AirLocate的示例。

这应该足以向您展示可以做什么。

你可以让应用检测它何时进入后台区域,向用户显示警报,然后在应用仍在后台运行时运行一些代码。

如果您想要一个简单的项目,用于通过蓝牙 LE 进行双向通信,您可能需要查看此项目: SimpleShare:适用于 iOS 的基于邻近感应的蓝牙 LE 轻松共享

该项目更侧重于在蓝牙范围内的两个设备之间交换信息, 而不是关注两个设备之间距离的细节, 但您可以自己进行一些更改或合并一些查看 RSSI 值的其他项目,以添加一些基于距离的功能 iBeacons 使用到项目中.此项目是类似于 iBeacon 的基于距离的功能的全核心蓝牙实现, 但不依赖于 CoreLocation 框架, 您可以将其与 SimpleShare 一起使用,以获得在您的应用程序中工作的距离功能和信息交换功能.

最新更新