У меня есть приложение, которое постоянно отслеживает местоположение устройства в фоновом режиме.Это хорошо работало в 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?