请有人建议我通过iBeacons获取UUID或设备名称或所连接设备的任何其他详细信息。
我使用方法获取设备的距离,主要和次要值:
- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
但我想知道设备细节。 请指导我到达。
答案 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);
}
}