获取用户位置和更新

时间:2016-12-23 18:28:34

标签: ios swift core-location

我正在尝试在iPhone应用中获取用户位置。它已在info.plist中指定了所需权限(即使应用程序未脱机也使用位置)。但我仍然没有看到我的代表被触发至少一次,这意味着我甚至没有获得当前的位置。这是代码:

import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {

var locationManager = CLLocationManager();
override func viewDidLoad() {


    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    locationManager.delegate = self

    if (CLLocationManager.authorizationStatus() == CLAuthorizationStatus.notDetermined) {
        self.locationManager.requestAlwaysAuthorization();
    }

    locationManager.distanceFilter = kCLDistanceFilterNone
    locationManager.desiredAccuracy = kCLLocationAccuracyBest
    locationManager.startUpdatingLocation()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    let userLocation:CLLocation = locations[0]
    let long = userLocation.coordinate.longitude;
    let lat = userLocation.coordinate.latitude;


    print(lat)
 }

func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!)
{
    locationManager.stopUpdatingLocation()
    if ((error) != nil)
    {
        print(error)
    }
}

有人能指出我可能存在的问题吗?

1 个答案:

答案 0 :(得分:0)

尝试删除locationManager.stopUpdatingLocation()中的locationManager(manager: CLLocationManager!, didFailWithError error: NSError!)。它应该工作。

相关问题