简体   繁体   中英

How to get Beacon proximity of Bluecates beacon

I have Bluecats Starter Pack and i want to get beacon proximity using didRangeBeacons Methods but its not call so how to call that methods to get beacon proximity and beacon information

Here is my code

- (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];
        }
    }

Waiting for reply.

Thanks in advance.

Start the ranging of the beacon when it will enter the site. So in method microLocationManagerDidEnterSiteNotification, you have to start ranging like

    - (void)microLocationManagerDidEnterSiteNotification:(NSNotification *)notification
    {

        BCSite *site = [notification.userInfo objectForKey:BCMicroLocationManagerNotificationSiteItem];
        [[BCMicroLocationManager sharedManager] startRangingBeaconsInSite:site];
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM