Ich baue eine Funktion im Zusammenhang mit der Bereichsüberwachung beim Starten der Bereichsüberwachung. Ich beantrage den Status wie unten im Code dargestellt. Auf einigen Geräten erhalte ich ständig den Status Unknown. Wenn ich WLAN ein- oder ausschalten oder das Ladegerät anschließe. Es beginnt gut zu funktionieren. Wie kann ich es in einem Mobilfunknetz zuverlässiger machen? Bitte beachten Sie, dass ich alle Standortberechtigungen vom Benutzer übernommen habe, bevor ich eine Regionsüberwachung oder Statusanfragen durchgeführt habe.CLRegionState wird angezeigt, während ein Status vom Standortmanager angefordert wird?
private func initiateLocationManager() {
locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.distanceFilter = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
}
func startMonitoring(alarm: StationAlarm) {
if LocationManager.sharedInstance.isRegionMonitoringAvailable() {
let coordinate = CLLocationCoordinate2D(latitude: stationLatitude, longitude: stationLongitude)
// 1
let region = CLCircularRegion(center: coordinate, radius: CLLocationDistance(radius * 1000), identifier: alarm.alarmId)
// 2
region.notifyOnEntry = true
region.notifyOnExit = false
// 4
locationManager.startMonitoring(for: region)
Utility.delay(0.1) { [weak self] in
self?.locationManager.requestState(for: region)
}
}
}
func locationManager(_: CLLocationManager, didDetermineState state: CLRegionState, for region: CLRegion) {
Log.event("Region State is \(state.rawValue)")
}
See [Empfehlung von Apple für die Überwachung von Test Region] (https://stackoverflow.com/questions/23866097/ios-geofence-clcircularregion-monitoring-locationmanagerdidexitregion-does-not/47099174#47099174) – Honey
@Honey Aber Ich warte nicht auf die Eingangs- oder Ausgangsbenachrichtigung. Ich habe einfach nach dem bestehenden Zustand der Region gefragt, nachdem ich die Überwachung gestartet habe. – kidsid49
Ja, aber Ihr WLAN ist ausgeschaltet. Ich wollte nur darauf hinweisen: "Wenn Wi-Fi deaktiviert ist, ist die Überwachung der Region wesentlich weniger genau." Und wahrscheinlich wird das dazu führen, dass es unbekannt ist ... – Honey