我正在开发一个使用用户位置的应用程序。我使用核心位置。 但在某些屏幕上它并没有捕获位置。步骤正是这些:
MainViewController:
在MainViewController
我请求授权。它奏效了。我允许授权定位。
if CLLocationManager.authorizationStatus() == .NotDetermined {
if locationManager.respondsToSelector("requestWhenInUseAuthorization") == true {
locationManager.requestWhenInUseAuthorization()
}
}
ViewController 1:
我触摸选项1,segue到ViewController
1,这里我开始更新位置。它奏效了。捕捉纠正了位置。
override func viewDidAppear(animated: Bool) {
locationManager.delegate = self
locationManager.startUpdatingLocation()
}
override func viewDidDisappear(animated: Bool) {
locationManager.stopUpdatingLocation()
NSLog("Location has stopped updating")
}
ViewController 2:
现在我回到MainViewController
,然后触摸选项2,视图转到ViewController
2.但是这里的操作按钮touchHowToGo
,不要开始更新位置,方法已调用,但不是工作。如果我返回ViewController
1位置开始正常。只有在这个屏幕上不起作用。
IBAction func touchHowToGo(sender: AnyObject) {
locationManager.delegate = self
locationManager.startUpdatingLocation()
}
CoreLocation
; ViewController
1和ViewController
2设置CLLocationManagerDelegate
; .plist
我添加了密钥; didFailError
永远不会更新位置 抓住位置
在所有ViewControllers
我使用的方法委托:
func locationManager(manager: CLLocationManager!, didUpdateToLocation newLocation: CLLocation!, fromLocation oldLocation: CLLocation!) {
NSLog("Location has updated with success %f - %f", newLocation.coordinate.latitude, newLocation.coordinate.longitude)
}
我尝试了didUpdateLocations
,但没有成功