我可以使用以下方式扫描 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扫描并连接到蓝牙设备并更改其特性,但问题是如何通过Core Bluetooth识别哪个设备是beacon 2?
最佳答案
您无法获取将 CLBeacon
与 CBPeripheral
直接关联的任何信息。
通常,信标的 GATT 服务会公开“设备名称”特征,您可以向用户显示该特征,以允许他们从列表中选择要配置的设备。
正如 David 在评论中指出的那样,任何此类 GATT 服务都将是特定于供应商的,或者甚至可能不存在,而信标是通过其他方法(例如 USB)配置的。即使提供了 GATT 服务,它也可能通过配置被禁用,或者仅在初始通电后的有限时间内处于事件状态。
没有定义通用的“配置 iBeacon”服务。
关于ios - 连接到 iBeacon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43312576/