There are several threads on the forum in which the developers claim that background geolocation does not work.
https://developer.apple.com/forums/thread/726945
https://developer.apple.com/forums/thread/727015
Gualtier Malde suggested a solution
The issue that is described here due to the changes with iOS 16.4 (and above) which affect the behavior of apps tracking location in the background.
Beginning in iOS 16.4, apps calling both startUpdatingLocation() AND startMonitoringSignificantLocationChanges() may get suspended in the background if they are specifying low accuracy and distance filtering in the location manager settings.
If your app needs only low accuracy locations of kCLLocationAccuracyKilometer and up, use startMonitoringSignificantLocationChanges() for that purpose instead.
If your app requires continuous high accuracy locations in the background, you must set the following location manager properties:
allowsBackgroundLocationUpdates must be set to TRUE or YES
distanceFilter must not be set, or set to kCLDistanceFilterNone
desiredAccuracy must be kCLLocationAccuracyHundredMeters or better. If you’re using numeric values, it must be set to less than 1000 meters
Alternatively you can turn on the location indicator which will avoid the issue. You can do this by setting
showsBackgroundLocationIndicator to TRUE or YES
If you implement the above changes in your app, its location update behavior will be similar to behavior prior to iOS 16.4. Without these changes, your app may not be able to receive continuous background location updates.
But this solution doesn't help. According to our data, the number of users with the problem is continuously increasing. The problem is confirmed on iOS versions up to 16.6 Beta
Please, help 🥹