I'm working on a location tracking application that uses both the standard location service and significant change location service in the background (my app is registered for background location updates in iOS 4+) as applicable. Thanks to this question I have a solid understanding of how significant change comes back from the background state and relaunches from a terminated state. However, I'm still not clear on how the standard location service behaves in these instances. Could anyone break down the exact behavior of the standard location service running in the background?
Specifically:
- How does the standard location service behave when you leave it running and the app suspends into the background? From my own testing, I've seen that it will continue waking up to receive callbacks on
locationManager:didUpdateToLocation:fromLocation:
(I have it send the location out a socket and I can see it on the network). Is there a time or memory limit for this callback to process? - Does the standard location service continue to run even when my app is terminated? That is, will it ever relaunch with
application:didFinishLaunchingWithOptions:
withUIApplicationLaunchOptionsLocationKey
the way the significant change service does? I assume it theCLLocationManager
would also need to be restarted in this case, as the significant change service does.
Thanks.