2

请任何人建议我通过 iBeacons 获取连接设备的 UUID 或设备名称或任何其他详细信息。

我正在使用以下方法获取设备距离、主要和次要值:

- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region

但我想知道设备的详细信息。请指导我到达。

4

2 回答 2

4

设备不连接到信标,因为它是一种高级的、仅限广播的接近技术。

信标会宣传它们的存在,iOS 设备可以检测到这些广告。您需要事先知道信标的 UUID 才能检测到它们。UUID 特定于一个或多个信标——使用多个具有相同 UUID 的信标可以让您确定范围内每个信标的相对接近度。

信标本身是被动的,无法检索附近 iOS 设备的详细信息——至少,不使用 iBeacon 技术。

于 2013-12-02T07:08:14.790 回答
2

您可以使用以下方法获取 Proximity UUID:

-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
{
    CLBeacon *beacon = [beacons lastObject];
    NSLog(@"Proximity UUID: [%@]", beacon.proximityUUID.UUIDString);
}

请查看此 iBeacons Tutorial for iOS 7 with CLBeaconRegion 和 CLBeacon了解更多信息。

您可以将CBPeripheraldelagate 用于 UUID 和服务。

-(void) peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error
{
    NSLog(@"Services scanned !");
    for (CBService *s in peripheral.services)
    {
        NSLog(@"Service found : %@",s.UUID);
    }
}
于 2013-12-02T07:22:59.757 回答