Swift 使用 Core Location 进行后台获取位置更新

Swift background fetch location updates with Core Location

我想在我的应用程序上使用后台获取位置更新服务。但是不要在这里显示我的代码的任何输出我需要你的帮助。

import CoreLocation

class ViewController: UIViewController, UITextFieldDelegate, CLLocationManagerDelegate  {

   var locationManager:CLLocationManager = CLLocationManager()



    override func viewDidLoad() {
        super.viewDidLoad()


        self.locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        locationManager.requestAlwaysAuthorization()
        locationManager.startUpdatingLocation()


        }

    func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
        print("didChangeAuthorizationStatus")

        switch status {
        case .NotDetermined:
            print(".NotDetermined")
            break

        case .Authorized:
            print(".Authorized")
            self.locationManager.startUpdatingLocation()
            break

        case .Denied:
            print(".Denied")
            break

        default:
            print("Unhandled authorization status")
            break

        }
    }

   func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

        let location = locations.last as CLLocation!

        print("didUpdateLocations:  \(location.coordinate.latitude), \(location.coordinate.longitude)")


    }

仅提供输出

didChangeAuthorizationStatus
.NotDetermined

如果可能的话,我想在新位置发生变化时获取长纬度值。 谢谢!

我将其添加到 info.plist 文件中:

<key>NSLocationAlwaysUsageDescription</key>
<string>Your message goes here</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your message goes here</string>