请任何人建议我通过 iBeacons 获取连接设备的 UUID 或设备名称或任何其他详细信息。
我正在使用以下方法获取设备距离、主要和次要值:
- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
但我想知道设备的详细信息。请指导我到达。
请任何人建议我通过 iBeacons 获取连接设备的 UUID 或设备名称或任何其他详细信息。
我正在使用以下方法获取设备距离、主要和次要值:
- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
但我想知道设备的详细信息。请指导我到达。
设备不连接到信标,因为它是一种高级的、仅限广播的接近技术。
信标会宣传它们的存在,iOS 设备可以检测到这些广告。您需要事先知道信标的 UUID 才能检测到它们。UUID 特定于一个或多个信标——使用多个具有相同 UUID 的信标可以让您确定范围内每个信标的相对接近度。
信标本身是被动的,无法检索附近 iOS 设备的详细信息——至少,不使用 iBeacon 技术。
您可以使用以下方法获取 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了解更多信息。
您可以将CBPeripheral
delagate 用于 UUID 和服务。
-(void) peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error
{
NSLog(@"Services scanned !");
for (CBService *s in peripheral.services)
{
NSLog(@"Service found : %@",s.UUID);
}
}