iOS7设备能否作为并检测其他iOS7设备进入其范围?那些其他iOS7设备需要开启蓝牙吗?
答案是可以。在iOS7中,苹果公司允许将iOS7设备配置为iBeacon,这意味着它们可以用于检测其他iOS7设备的近程。另外,其他iOS7设备需要开启蓝牙才能被检测到。
iOS7设备能否作为并检测其他iOS7设备进入其范围?那些其他iOS7设备需要开启蓝牙吗?
答案是可以。在iOS7中,苹果公司允许将iOS7设备配置为iBeacon,这意味着它们可以用于检测其他iOS7设备的近程。另外,其他iOS7设备需要开启蓝牙才能被检测到。
具备蓝牙低功耗功能的iOS设备可以充当iBeacon。
请查看https://developer.apple.com/downloads/index.action?name=WWDC%202013#上的AirLocate示例代码。
作为iBeacon并不能反馈检测到其范围内设备的信息,所以您需要自行实现。也就是说,您需要让检测到iBeacon的设备通过其他方式告诉iBeacon他们已经发现了它。
是的,iOS设备可以作为信标使用,从iPhone 4s及以上版本开始(需要蓝牙4.0)。
您可以通过将[CLBeaconRegion peripheralDataWithMeasuredPower:]
中的字典传递给[CBPeripheralManager startAdvertising:]
来发布信标。
发布信标不会给您任何设备的反馈,您需要扫描其他发布信标的设备。
至于后台运行,您无法在后台发布信标,您的应用程序需要在前台运行。扫描可在后台进行。
如上所述,只要具备蓝牙低功耗技术,iOS 7设备就可以作为iBeacon。
要使用iBeacon,您需要iOS 7或更高版本、打开蓝牙并拥有兼容的iOS设备:
- iPhone 4s或更高版本
- iPad(第三代)或更高版本
- iPad mini或更高版本
- iPod touch(第五代)或更高版本。
当您的应用程序在后台时,本地名称不会被广告化,并且所有服务UUID都放置在溢出区域。
CLLocationManager
的文档。在iOS中,您使用位置管理器注册的区域会在应用程序启动之间保留。如果在您的iOS应用程序未运行时发生区域交叉,则系统会自动将其唤醒(或重新启动)以便在后台处理事件。 - Mike Pollard