I could be confusing how the monitoring of the region works, but this is what I still have:
I register a region for monitoring through my location manager, which is implemented in a singleton class, this singleton is also set as a delegate of the location manager, so the implemented method is called.
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
This works fully as expected, if the application is active or paused, this method is called. This also makes sense because the class is already loaded and when the region introduces the event, iOS sends it even to my application, which calls the location manager that registered (it may have a link to it), and in turn it calls any delegate (so how the class is ready and loaded).
The problem is what happens when the application was killed? Is this the first run in the background? How does iOS know which delegate method to call, and if it is already loaded?
source share