It sounds like you should be using region monitoring instead, which tells you when the user enters or exits a circular area. Set it up with startMonitoringForRegion:
and implement the CLLocationManagerDelegate
methods
– locationManager:didEnterRegion:
– locationManager:didExitRegion:
– locationManager:monitoringDidFailForRegion:withError:
– locationManager:didStartMonitoringForRegion:
If you're having trouble with bad location data coming in, check for the age of the CLLocation
in locationManager:didUpdateLocations:
or locationManager:didUpdateToLocation:fromLocation:
. If it's more than 60 seconds old, don't use it.