I often encountered this problem when querying the state of a region immediately after it was monitored.
eg.
[self.locationManager startMonitoringForRegion:region]; [self.locationManager requestStateForRegion:region];
I guaranteed that didDetermineStateForRegion was invoked by scheduling requestStateForRegion: shortly after calling startMonitoringForRegion. Now this is not a great solution and should be used carefully, but it seems to be a daunting problem for me. Code below
[self.locationManager startMonitoringForRegion:region]; [self.locationManager performSelector:@selector(requestStateForRegion:) withObject:region afterDelay:1];
source share