Are you using showsBackgroundLocationIndicator = false or showsBackgroundLocationIndicator = true? Are you calling startUpdatingLocation() when the app is foregrounded or backgrounded?
I filed a bug report: https://feedbackassistant.apple.com/feedback/12082689
Before iOS 16.4, we could reliably start CLLocationManager in the background (for example, in response to a CLCircularRegion exit or a CLVisit arrival) by calling startUpdatingLocation(), and keep it running indefinitely, assuming we had "Always" location permissions and the "Location updates" background mode. As of iOS 16.4, this no longer works reliably if the CLLocationManager is started when the app is backgrounded and showsBackgroundLocationIndicator = false. It does still seem to work if the CLLocationManager is started when the app is foregrounded and showsBackgroundLocationIndicator = true. We have seen a few similar reports on the developer forums: https://developer.apple.com/forums/thread/727015 https://developer.apple.com/forums/thread/726945 Did this behavior change in iOS 16.4? Thank you.