我有Bluecats Starter Pack,我希望使用didRangeBeacons方法获得信标接近,但它不会调用,所以如何调用该方法来获取信标接近度和信标信息
这是我的代码
- (BCMicroLocationManager *)microLocationManager
{
if (!_microLocationManager) {
// _microLocationManager = [BCMicroLocationManager sharedManager];
_microLocationManager = [[BCMicroLocationManager alloc] init];
_microLocationManager.delegate = self;
}
return _microLocationManager;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(microLocationManagerDidEnterSiteNotification:)
name:BCMicroLocationManagerDidEnterSite
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(microLocationManagerDidExitSiteNotification:)
name:BCMicroLocationManagerDidExitSite
object:nil];
}
- (void)microLocationManagerDidEnterSiteNotification:(NSNotification *)notification
{
BCSite *site = [notification.userInfo objectForKey:BCMicroLocationManagerNotificationSiteItem];
}
- (void)microLocationManagerDidExitSiteNotification:(NSNotification *)notification
{
BCSite *site = [notification.userInfo objectForKey:BCMicroLocationManagerNotificationSiteItem];
}
- (void)microLocationManager:(BCMicroLocationManager *)microLocationManger didUpdateNearbySites:(NSArray *)sites
{
[self refreshNearbySites];
}
- (void)microLocationManager:(BCMicroLocationManager *)microLocationManger didEnterSite:(BCSite *)site
{
[self determinedState:BCSiteStateInside forSite:site];
}
- (void)microLocationManager:(BCMicroLocationManager *)microLocationManger didExitSite:(BCSite *)site
{
[self determinedState:BCSiteStateOutside forSite:site];
}
- (void)microLocationManager:(BCMicroLocationManager *)microLocationManger didDetermineState:(BCSiteState)state forSite:(BCSite *)site
{
[self determinedState:state forSite:site];
}
- (void)microLocationManager:(BCMicroLocationManager *)microLocationManger didRangeBeacons:(NSArray *)beacons inSite:(BCSite *)site
{
}
- (void)microLocationManager:(BCMicroLocationManager *)microLocationManger didUpdateMicroLocations:(NSArray *)microLocations
{
BCMicroLocation *microLocation = [microLocations lastObject];
}
- (void)requestStateForNearbySites
{
NSOrderedSet *nearbySites = self.microLocationManager.nearbySites;
for (BCSite *site in nearbySites) {
[self.microLocationManager requestStateForSite:site];
}
}
等待回复。
提前致谢。
答案 0 :(得分:0)
当信标进入网站时开始测距。因此,在方法microLocationManagerDidEnterSiteNotification中,您必须开始像
那样的范围 - (void)microLocationManagerDidEnterSiteNotification:(NSNotification *)notification
{
BCSite *site = [notification.userInfo objectForKey:BCMicroLocationManagerNotificationSiteItem];
[[BCMicroLocationManager sharedManager] startRangingBeaconsInSite:site];
}