We have developed a construction project application in iOS, where a project manager can invite users to work in that construction project. Whenever the linked users/project manager of a particular project reaches the project site location we send them notifications to tell them to watch site safety videos before entering the site. If the users have seen those videos then we don’t send these notifications again to those users on next time entering the project location. This is all working good.
Now we have added a new functionality in this app with which attendance of these users can be marked as they enter in the project site location. For this we have used Geofencing feature, we create geofences for nearby projects of user location, as soon as the user enters a particular project geofence we mark him as checked in (with entry timing) and on exiting from the geofence, the user gets marked as checked out(with exit timings). This works 100% if we keep the iOS app in background (if app is kept open in recent apps), but it does NOT ALWAYS work when the app is closed (if the app is removed from recent apps). We have tried Significant Region monitoring as well, but not getting any consistency in the results for all the users.
So our question here is that does iOS support this GPS call when app is closed, means can we execute any code in the app when app is closed (removed from recent apps)? If yes then to what accuracy because our GPS code call does not work 100% when the app is closed?