找出statUpdatingLocation在Swift中是否处于活动状态

时间:2015-06-03 16:42:44

标签: swift cllocationmanager

我有一个基于位置的应用程序在swift中运行。我正在尝试检测access_token当前是否处于活动状态。

我正在努力寻找如何做到这一点,我也无法在互联网上找到它。我相当肯定这很容易实现。我不想设置BOOL,因为这需要是全局的。

self.locationManager.startUpdatingLocation()

2 个答案:

答案 0 :(得分:5)

我知道现在这是一个迟到的答案。但是,如果您想知道locationManager是否正在更新,这可能是一种解决方案。

您的应用中应该只有一个CLLocationManager个实例。因此,创建单身人士是理想的选择。然后,您应该覆盖方法startUpdatingLocationstopUpdatingLocation

(Swift 3)

import CoreLocation

class LocationManager: CLLocationManager {
    var isUpdatingLocation = false

    static let shared = LocationManager()

    override func startUpdatingLocation() {
        super.startUpdatingLocation()

        isUpdatingLocation = true
    }

    override func stopUpdatingLocation() {
        super.stopUpdatingLocation()

        isUpdatingLocation = false
    }
}

<强>用法:

  if LocationManager.shared.isUpdatingLocation {
    print("Is currently updating location.")
  } else {
    print("Location updates have stopped.")
  }

答案 1 :(得分:0)

你不能知道startUpdatingLocation()是否&#34;活跃&#34;因为你是那个说出来的人。

如果您需要从其他地方跟踪此情况,请在致电true时拨打Bool媒体资源并将其设为startUpdatingLocation(),并在致电false时设为stopUpdatingLocation()