Я сталкиваюсь с проблемой с событиями геозоны в моем приложении. Когда приложение убивается и не открывается в течение 2–3 дней, событие геозоны не запускается, когда я возвращаюсь в район геопов. Я позаботился о том, чтобы все необходимые разрешения (местоположение, фоновое обновление и т. Д.) Правильно установлены в настройках приложения.
кто -нибудь еще испытал это? Существует ли решение или обходной путь, чтобы гарантировать, что геозонирование работает, как и ожидалось, даже после того, как приложение было убито в течение нескольких дней? /p>
func createRegion(latitude :Double , longitude : Double, radius : Double) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy HH:mm:ss"
let date = dateFormatter.string(from: Date())
let geofenceRegionCenter = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
let geofenceRegion = CLCircularRegion(center: geofenceRegionCenter, radius: radius, identifier: "First")
geofenceRegion.notifyOnEntry = true
geofenceRegion.notifyOnExit = true
locationManager.startMonitoring(for: geofenceRegion)
}
func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy HH:mm:ss"
let date = dateFormatter.string(from: Date())
self.isEnter = true
let latitude = manager.location?.coordinate.latitude ?? 0.00
let longitude = manager.location?.coordinate.longitude ?? 0.00
}
func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy HH:mm:ss"
let date = dateFormatter.string(from: Date())
self.isEnter = false
let latitude = manager.location?.coordinate.latitude ?? 0.00
let longitude = manager.location?.coordinate.longitude ?? 0.00
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... ed-after-2