允许访问您的位置的按钮被禁用

时间:2015-10-28 07:52:20

标签: ios swift swift2 ios9 core-location

我的viewController看起来像是

import CoreLocation

class MyViewController: UIViewController {
    let locationManager = CLLocationManager()

    override func viewDidAppear(animated: Bool) {
        if #available(iOS 8.0, *) {
            self.locationManager.requestWhenInUseAuthorization()
        } else {
            // Fallback on earlier versions
        }

        if (CLLocationManager.locationServicesEnabled()) {
            locationManager.delegate = self
            locationManager.desiredAccuracy = kCLLocationAccuracyBest
            locationManager.startUpdatingLocation()

            let lon = locationManager.location!.coordinate.longitude
            let lat = locationManager.location!.coordinate.latitude
            print("lat = \(lat) and long = \(lon)")
        }
    }
}

// MARK: - CLLocationManagerDelegate

extension MyViewController : CLLocationManagerDelegate {

    func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        self.locationManager.stopUpdatingLocation()
    }

    func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
        print("\(error.localizedDescription)")
    }
}

当我执行我的程序时,它会提示

之类的消息
  

允许应用在您使用应用时访问您的位置?

不允许允许按钮已停用

有人可以指导我出错的地方和我应该做的事情。

我可以通过转到设置手动允许我的应用程序访问位置服务。但我想知道为什么按钮被禁用,我该怎么做才能启用它。

注意:我已将 NSLocationWhenInUseUsageDescription 添加到我的info.plist文件中。

感谢。

  

Dt:29Oct2015

修改 卸载应用程序并重新安装并尝试。现在我可以访问按钮了。

另外,我注意到有时屏幕没有响应,即屏幕无法接受用户的任何输入。我今天注意到它有一个文本框。我无法将光标移到文本框中。

是否与IOS更新有关?是其他任何经历过这种奇怪行为的人。是否有相同的解决方法?

非常感谢任何帮助。

感谢。

0 个答案:

没有答案