1

我正在开发一个应用程序来查找信标。但我有一个问题,我只能找到我在代码中定义的信标,但我想动态找到我不知道 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];
4

1 回答 1

4

不,您不能在没有定位服务的情况下使用 iBeacons。

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

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

于 2015-12-30T10:05:06.527 回答