Geofencing location updation issue

Hi,

We wanted to address some issues we are facing with the Go RN application, a healthcare staffing app that utilizes location tracking. Our application is designed to track the user's location during their work hours to provide important information to supervisors in the healthcare industry. Specifically, we need to know if the user has left the work site. To achieve this, we have implemented a geofencing feature that tracks the user's location continuously, even when the app is running in the background. However, once the user's shift ends, we no longer require or track their location in the background. This location tracking feature offers benefits such as providing directions to the user's next shift location (since one shift may have multiple locations) and enabling auto check-in once they are in adequate proximity to the facility.

Currently, our iOS application encounters a problem where background location fetching automatically stops after the user logs in for their shift using the mobile app and puts the app in the background, resulting in a false breach.

Upon investigating the code, we have identified an inconsistency in the working of the geofencing functionality involving CLLocationManager functions. We are currently using region monitoring and significant location change. While the didEnter and didExit functions work as expected upon user entry and exit, the didUpdate function is not consistently functioning correctly. This issue arises particularly when the app goes into the background state or when users lock their screens. We have already enabled background location and background processing, along with relevant settings, to ensure seamless operation.

In addition to addressing this issue, I wanted to inquire if there are alternative methods, aside from didUpdate, that can reliably determine whether a user is intentionally bypassing the geofence by disabling their location or network. Currently, we are checking the user's proximity to the intended location every 5 minutes to ensure that the user remains active and that both location and GPS functionalities are enabled. Any advice or guidance on how to ensure the consistent and reliable functioning of the didUpdate function under all circumstances would be highly appreciated.

Additional Details https://docs.google.com/document/d/1aVI_kuy0KcQMdeX-52afG3HoJJ8YEQtcTGCifsy34Eg/edit

We believe that having a further discussion on a call would be beneficial. Please let us know if this is possible.

Thank you for your attention to this matter.

Geofencing location updation issue
 
 
Q