【发布时间】:2014-12-13 13:58:03
【问题描述】:
我正在尝试创建一个简单的应用程序来找出某人所在的区域,但我被卡住了,因为当应用程序运行并找到位置时,没有调用任何 CLLocationManagerDelegate 方法。
如果它是相关的,我也没有看到要求我授予应用使用位置权限的对话框。
这是我目前所拥有的 -
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")
}
}
我已经设置了断点,所以我知道代码永远不会被调用。我已经进去并在应用程序运行时手动打开了位置服务。
【问题讨论】:
标签: ios swift core-location cllocationmanager