Location Monitoring in iOS8 not working

112 views Asked by At

can you help me regarding location monitoring...didenter and didexit are never called. BTW i'm testing it on iphone. Is there anything else in the code needs to be changed or to be added. Any kind of help is appreciated. thank you.

Below is the code:

- (void)viewDidLoad {

  _manager=[[CLLocationManager alloc]init];

  _mView.delegate=self;

[_manager requestWhenInUseAuthorization];
_manager.delegate=self;

_manager.desiredAccuracy=kCLLocationAccuracyNearestTenMeters;

_manager.distanceFilter=100;

[_manager startUpdatingLocation];
_mView.showsUserLocation=YES;

CLLocationCoordinate2D c;
c.latitude=33.420647;

c.longitude=-111.918893;

c=CLLocationCoordinate2DMake(c.latitude, c.longitude);

CLCircularRegion *circle=[[CLCircularRegion alloc]initWithCenter:c radius:100 identifier:@"string"];

if ([CLLocationManager isMonitoringAvailableForClass:[CLCircularRegion class]]) {

NSLog(@"yes");

[ _manager startMonitoringForRegion:circle];

circle.notifyOnEntry=YES;

circle.notifyOnExit=YES;
}


-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{

    NSLog(@"Inside");

    UIAlertController *alert=[UIAlertController alertControllerWithTitle:@"Monitoring" 
    message:@"Inside" preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction *action=[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
}];

    [alert addAction:action];

    [self presentViewController:alert animated:YES completion:nil];

}


-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region{

    NSLog(@"Outside");

    UIAlertController *alert=[UIAlertController alertControllerWithTitle:@"Monitoring" message:@"Outside" preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction *action=[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
}];

    [alert addAction:action];

    [self presentViewController:alert animated:YES completion:nil];

}
1

There are 1 answers

1
Uma_Shanker_Tiwari On

you should remove [_manager startUpdatingLocation] line , I think you don't need to call this because you want to region monitoring only.