When the app is subsequently terminated, does the CLLocationManager keep monitoring for the changes?
-> you guess is right. it's No, but your os monitors and knows that this application might need it because you called startMonitoringSignificantLocationChanges
:.
your question -I know that next the app gets relaunched with UIApplicationLaunchOptionsLocationKey passed to application:didFinishLaunchingWithOptions:. Is it done in the background?
Ans-> yes,
If you start this service and your application is subsequently terminated, the system -automatically relaunches the application into the background if a new event arrives. In such a case, the options dictionary passed to the application:didFinishLaunchingWithOptions: method of your application delegate contains the key UIApplicationLaunchOptionsLocationKey to indicate that your application was launched because of a location event.
what delegate does get called when there is a new location event and the app is running (either in the background or foreground)?
The link you provided says everything. when your app is running in foreground or backGround, and if a new location event arrives , and your app app to become active,still your CLLocationManagerDelegate
will get called.