连接到iBeacon

我可以用以下方法扫描iBeacons:

func locationManager(manager: CLLocationManager!, didRangeBeacons beacons: [AnyObject]!, inRegion region: CLBeaconRegion!) { } } 

假设我在扫描后得到以下信标

 Beacon 1: major:1 minor:5 uuid:xxx Beacon 2: major:1 minor:6 uuid:xxx Beacon 3: major:1 minor:7 uuid:xxx 

扫描后我想连接到信标2并改变其特性。

我知道我可以使用CoreBluetooth扫描并连接到蓝牙设备并改变其特性,但问题是如何通过核心蓝牙识别哪个设备是信标2?

您无法获得任何直接将CLBeaconCBPeripheral

通常,信标的GATT服务将公开“设备名称”特征,您可以向用户显示该特征,以允许他们从列表中选择要配置的设备。

正如大卫在评论中指出的那样,任何此类GATT服务都将是供应商特定的,或者甚至可能不存在,其中信标通过其他方法配置,例如USB。 即使提供GATT服务,也可以通过配置禁用,或者仅在初始上电后的有限时间内激活。

没有定义通用的“配置iBeacon”服务。