We are using the .startMonitoringSignificantLocationChanges() API, and kicking it off when the app moves to the background. We have confirmation that the "Always" loc authorization is set. And yes, we do use the .location launch option to restart tracking in the background.
As I understand background location tracking, it should work like this:
1: Start up loc tracking using the given API (in our case significant location changes to save battery).
2: OS sends to our app in the background location updates which we handle.
3: If the app is terminated, the OS will launch the app with launchOptions == .location, which we catch and restart background tracking as before.
I have not been able to confirm that 3 ever happens at all, if the app was terminated by the user. If we can't rely on the .location launch option, what is Apple's guidance for handling the above scenario?
Topic:
App & System Services
SubTopic:
Maps & Location