iOS7 设备能否充当iBeacon并确定其他 iOS7 设备何时进入其范围?其他 iOS7 设备是否需要打开蓝牙?
6 回答
带有 BluetoothLE 的 iOS 设备可以充当 iBeacon 是的。
查看https://developer.apple.com/downloads/index.action?name=WWDC%202013#上的 AirLocate 示例代码
作为 iBeacon 不会提供有关进入范围的设备的反馈,因此您必须自己实施。即,您必须让设备检测到 iBeacon,然后告诉 iBeacon 他们通过其他方式看到了它。
是的,iOS 设备可以充当信标,从 iPhone 4s 起(需要蓝牙 4.0)。
您通过将字典从[CLBeaconRegion peripheralDataWithMeasuredPower:]
to传递来发布信标[CBPeripheralManager startAdvertising:]
。
发布信标不会给您任何有关设备的反馈,您必须扫描其他发布信标的人。
至于后台,您不能在后台发布信标,您的应用程序需要在前台运行。可以在后台进行扫描。
是的,iOS7 设备可以充当 iBeacon。如果您在所有手机上都安装了一个应用程序,并且您还编写了一个 Web 服务,那么您可以完全按照您的建议进行操作。这将允许电话 A 在附近时看到电话 B 和 C:
- 您在电话 A 上的应用程序充当 iBeacon,宣传其存在。
- 电话 B 和 C 看到这个 iBeacon,唤醒您的应用程序调用您的 Web 服务报告他们都看到电话 A 的传输。
- 您在电话 A 上的应用程序查询此 Web 服务,该服务返回一个可以看到电话 A 的电话列表。在此示例中,该列表包括电话 B 和 C。您的应用程序使用此列表更新其显示。
所有手机都需要蓝牙 LE,将其打开并安装您的应用程序。他们还需要互联网连接来调用网络服务。
如果你还没有准备好使用 iBeacons,这个项目使用蓝牙 LE 在附近的手机之间共享一组 id - SimpleShare
您可以为每部手机的用户设置一个 ID,使用 SimpleShare 项目(即使在后台模式下)通过蓝牙 LE 在手机之间共享它们,然后查询 Web 服务以查找有关具有该 ID 的用户的更多信息。
如前所述,iOS 7 设备可以充当 iBeacon,只要它采用蓝牙 LE 技术即可。
要使用 iBeacon,您需要 iOS 7 或更高版本、打开蓝牙以及兼容的 iOS 设备:
- iPhone 4s 或更新机型
- iPad(第 3 代)或更新机型
- iPad mini 或更新机型
- iPod touch(第 5 代)或更新机型。
以前的答案中没有明确指出的一点是,为了使发布工作(例如在大卫的答案的电话 A 中),开始发布的应用程序必须在前台。
从苹果文档:
当您的应用程序在后台时,不会公布本地名称,并且所有服务 UUID 都放置在溢出区域中。