[iOS 11] Multiple CLLocationManager instances and stopMonitoringSignificantLocationChanges

I hold multiple instances of CLLocationManager in my app.


Each instance can start / stop SLC independantly. This worked fine before iOS 11.


However, in iOS 11, if you call #stopMonitoringSignificantLocationChanges on any particular CLLocationManager instance, SLC will be turned off for all instances.


This is clearly a bug. An instance method of CLLocationManager should not affect the behaviour of an other instance.

Did you ever discover any additional information about this? The CLLocationManager is fairly ambiguously documented with regard to certain of its aspects, one of those being which operations affect global state (and how) in the app and which don't. A discussion my team is having is if it's actually alright to have multiple location managers. In my opinion the allowance of multiples are implied due to the fact that the manager has filtering settings and it uses a delegate suggests that those delegates may have different individual needs for the location data. But, these things are hard to tell and I have read both sides on other sites so who knows?


Did you file a radar?

iOS 16... Still, the issue exists. How to handle this issue.

Any suggestions to handle this will be much appreciated.

[iOS 11] Multiple CLLocationManager instances and stopMonitoringSignificantLocationChanges
 
 
Q