我的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更新有关?是其他任何经历过这种奇怪行为的人。是否有相同的解决方法?
非常感谢任何帮助。
感谢。