CLLocationManager Geofence monitoring queries

Hi There,

I have some queries related to Geofence monitoring in iOS which I could not find on the official Apple documentation. Kindly provide details about the below:

  1. On requesting state for a geofence via requestStateForRegion method, when the OS triggers the callback didDetermineState does it internally capture the latest user location? In other words, after the function requestStateForRegion is called, does the location manager update location property before invoking the callback didDetermineState. Please note that we intend to call requestStateForRegion while the app is in the background (once a day) via BGTaskScheduler.
  2. What is the minimum recommended value for Geofence radius that can be used? We intend to use a value of 100 meters but our concern is that if such a small value can cause incorrect reprotings?
  3. How does region monitoring work if the CLLocationManager accuracyAuthorization is not CLAccuracyAuthorizationFullAccuracy but WhenInUse authorization? Do we still get delayed notifications for geofence crossings?

Thanks, Ashish

CLLocationManager Geofence monitoring queries
 
 
Q