I am trying to get accurate area monitoring working with iOS5 / iPhone 4G and it seems I am not very lucky. To be clear, I can receive information about events in the region; itโs just that I get them prematurely. Let me explain. This is my code for setting the region:
#define GEO_FENCING_RADIUS 10 // in meters CLLocationDistance radius = GEO_FENCING_RADIUS; // Create the region and start monitoring it. CLRegion* region = [[CLRegion alloc] initCircularRegionWithCenter:coordinate radius:radius identifier:identifier]; [self.locationManager startMonitoringForRegion:region desiredAccuracy:kCLLocationAccuracyBest];
Radius
in this code is set to 10 meters. Therefore, my assumption is that I will receive a notification about the region if I am within 10 meters of this place. Instead, I can be notified at much higher distances (I saw a 2-mile proximity causing a region). What can cause this? In addition, I am using significantLocationChangeMonitoringAvailable with the default values โโset for CLLocationManager. Maybe using significantLocationChangeMonitoringAvailable somehow precludes more accurate trigger events?
Any ideas what is going on here?
salil source share