如何在iOS 7中使用iBeacons获取设备详细信息,如UUID或设备名称

时间:2013-12-02 06:45:42

标签: ios bluetooth core-bluetooth ibeacon

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

我使用方法获取设备的距离,主要和次要值:

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

但我想知道设备细节。 请指导我到达。

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分: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 and CLBeacon以获取更多信息。

您可以将CBPeripheral delagate用于UUID和服务。

-(void) peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error
{
    NSLog(@"Services scanned !");
    for (CBService *s in peripheral.services)
    {
        NSLog(@"Service found : %@",s.UUID);
    }
}