Я пытаюсь создать простое приложение, которое обнаруживает область, в которой находится кто-то, но я застрял, потому что ни один из методов CLLocationManagerDelegate не вызывается, когда приложение запускается и находит местоположения.CLLocationManagerDelegate методы, которые не вызываются в коде Swift
В случае, если это релевантно, я также не вижу диалоговое окно с просьбой дать разрешение на использование приложения.
Вот что я до сих пор -
import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var locationLabel : UILabel!
var locationManager = CLLocationManager()
let geocoder = CLGeocoder()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
override func viewDidDisappear(animated: Bool) {
locationManager.stopUpdatingLocation()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
geocoder.reverseGeocodeLocation(locations.last as CLLocation, completionHandler: {(placemark, error) in
if (error != nil) {
println("Error")
} else {
let pm = placemark.first as CLPlacemark
println(pm)
}
})
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
println("Epic Fail")
}
}
Я положил в контрольных точках, так что я знаю, что код никогда не вызываются. Я включил и вручную включил службы определения местоположения для приложения, пока он работает.
Возможно, дубликат http://stackoverflow.com/questions/24063798/cllocation-manager-in-swift-to-get-location-of-user – kabarga