Also ich habe keine Ahnung, was passiert ist. Der Code, den ich hatte, funktionierte perfekt, und dann arbeitete ich ein bisschen im Storyboard herum und plötzlich fing ich an, den Fehler zu bekommen, dass meine CLLocation beim Auspacken immer Null war. Ich habe alles gemacht, woran ich denken oder online lesen kann.CLLocation Manager verwendet den Standardstandort und aktualisiert sich nicht mit dem tatsächlichen Standort
- hinzugefügt
- kopierten Code in verschiedenen Spots .plist
- die didUpdateLocations in viewDidLoad bewegt
Wenn ich das Schema aktualisieren, um einen Standard-Speicherort haben dann die Sie verwendet nur die Standard-Speicherort die ganze Zeit und nie aktualisiert mit meinem aktuellen Standort, gleich, wenn ich es auf einem tatsächlichen Gerät versuche, aber wenn ich es zu niemandem lasse, dann wird die Delegiertenmethode für den Fehler didFailWithError
genannt, sagend, dass der zurückgegebene Wert Null war. Ich verliere es hier drüben. Bitte Hilfe.
override func viewDidLoad() {
super.viewDidLoad()
self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.locationManager.distanceFilter = kCLDistanceFilterNone
self.locationManager.requestWhenInUseAuthorization()
self.locationManager.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
print("In the location, seems we got some shit --> didFailWithError: \(error.description)")
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let locValue : CLLocationCoordinate2D = locationManager.location!.coordinate
let geoFire = GeoFire(firebaseRef: self.geofireRef.child("Posts"))
let center = CLLocation(latitude: locValue.latitude, longitude: locValue.longitude)
let circleQuery = geoFire.queryAtLocation(center, withRadius: 10)
circleQuery.observeEventType(.KeyEntered, withBlock: { (key: String!, location: CLLocation!) in
print("Key '\(key)' entered the search area and is at location '\(location)'")
})
self.locationManager.stopUpdatingLocation()
}
Sie sind für bedeutende Standortänderungen überwachen. Diese treten erst nach einiger Zeit auf. Sie sind sich dessen bewusst? Im Simulator kann es bis zu 5 Minuten dauern, bis Updates angezeigt werden. Diese können sehr ungenau sein und Sie werden keine Updates sofort sehen. Probieren Sie es ohne signifikante Standortänderungen aus. Ich würde auch alles auf den didupdateLocations zuerst behandeln, bevor ich es stoppe. – Wouter125
Ich wusste das nicht, aber das waren nur zusätzliche Versuche, irgendetwas zu versuchen. Nach Änderung nach deinem Vorschlag habe ich immer noch das gleiche Problem. – KellysOnTop23
Ich habe meinen Code aktualisiert, habe aber immer noch das gleiche Problem – KellysOnTop23