我可以在没有位置服务的情况下访问信标设备,只能使用蓝牙框架吗?

时间:2015-12-30 09:48:05

标签: ios beacon

我正在开发一个寻找信标的应用程序。但我有一个问题,我只能找到一个我在代码中定义的灯塔,但我想找到动态的信标,我不知道UUID。是否可以找到没有位置服务的灯塔?这是我的正义代码,我没有收到任何错误..我只想访问没有位置服务的区域..

    NSUUID *beaconUUID = [[NSUUID alloc] initWithUUIDString:@"D57092AC-DFAA-446C-8EF3-C81AA22815B5"];
    NSString *regionIdentifier = @"us.iBeaconModules";
    CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:beaconUUID identifier:regionIdentifier];
    self.locationManager = [[CLLocationManager alloc] init];
    if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
        [self.locationManager requestAlwaysAuthorization];
    }
    self.locationManager.delegate = self;
    self.locationManager.pausesLocationUpdatesAutomatically = NO;
    [self.locationManager startMonitoringForRegion:beaconRegion];
    [self.locationManager startRangingBeaconsInRegion:beaconRegion];

1 个答案:

答案 0 :(得分:3)

不,没有位置服务就无法使用iBeacons。

背后的原因是这可能与隐私有关,因为使用iBeacons,您可以跟踪某人的位置。因此,如果用户转向位置服务,则意味着他们不希望您的应用程序跟踪其位置。

您当然可以使用蓝牙堆栈来检测您的iBeacons,但据我所知,您必须首先与信标配对才能检测到它的存在。