У меня есть приложение, которое постоянно отслеживает местоположение устройства в фоновом режиме. Это хорошо работало в ios 11.4, где я мог несколько дней запускать приложение в фоновом режиме, продолжая делать другие вещи на переднем плане.
Теперь с ios 12 приложение перестает работать через некоторое время, когда устройство не используется.
LocationManager инициализируется следующим образом:
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
locationManager.startUpdatingHeading()
locationManager.allowsBackgroundLocationUpdates = false
locationManager.pausesLocationUpdatesAutomatically = false
if #available(iOS 11.0, *)
{
locationManager.showsBackgroundLocationIndicator = true
}
locationManager.distanceFilter = prefs.getDoubleFromString(Prefs.PREF_DISTANCE_FILTER, defaultVal: 2.5)
Когда пользователь решает начать отслеживание
locationManager.allowsBackgroundLocationUpdates = true
установлен.
Приложение имеет привилегию «Всегда» для службы определения местоположения.
Есть идеи, что изменилось в iOS 12?
false
- person Paulw11   schedule 27.09.2018true
- person Michael Konz   schedule 27.09.2018requestWhenInUseAuthorization
. Вы уверены, что пользователь предоставилalways
права? - person Swapnil Luktuke   schedule 27.09.2018