为什么我的"允许位置访问"当我打开它时总是关闭?

时间:2015-05-28 11:05:42

标签: ios swift location core-location

svn info -r HEAD 内我允许我的应用始终使用位置。在viewDidLoad中,我创建了一个每2秒调用一次方法的计时器:

Location Services

一开始我得到println("---\(locationManager.location)") ,但当我转到设置并更改始终的访问权限,然后再次返回应用时,我立即得到:

---nil

但是一旦打印出来,仍有:---<+50.06689474,+19.92923662> +/- 165.00m (speed -1.00 mps / course -1.00) @ 28.05.2015, 13:00:39 Czas środkowoeuropejski letni 。为什么呢?

这是我设置---nil的方式:

locationManager
private let locationManager = CLLocationManager() 中的

我称之为方法:

viewDidLoad()

1 个答案:

答案 0 :(得分:0)

如何在Swift中以最简单的方式实现CoreLocation框架的答案是:

    使用时文件中的
  1. import CoreLocation

  2. 将框架添加到将二进制文件链接到库

  3. enter image description here

    1. 设置private let locationManager = CLLocationManager()并使用以下方法实施CLLocationManagerDelegate

      func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
      
          if status == .AuthorizedAlways || status == .AuthorizedWhenInUse {
              locationManager.startUpdatingLocation()
          }
      }
      
    2. viewDidLoad设置您的locationManager媒体资源:

      private func setupLocationManager() {
          locationManager.delegate = self
          locationManager.distanceFilter = kCLDistanceFilterNone
          locationManager.desiredAccuracy = kCLLocationAccuracyBest
      
          if CLLocationManager.locationServicesEnabled() {
              locationManager.startUpdatingLocation()
          }
      
          if CLLocationManager.authorizationStatus() == .NotDetermined {
              locationManager.requestAlwaysAuthorization()
          }
      }
      
    3. 最重要!!!! 使用密钥NSLocationAlwaysUsageDescription和示例值设置您的info.plist文件:Turn on your location, we need it:-)

    4. enter image description here

相关问题