【发布时间】:2014-12-29 21:37:05
【问题描述】:
我最近开始接触移动编程。下面的代码很挑剔;有时它起作用,有时它不起作用。我已经尝试过在这里找到的建议,例如在虚拟 iphone 上重新启动定位服务。这不是 info.plist 问题:我设置了 NSLocationWhenInUseUsageDescription,当我调试时,我可以看到它具有 WhenInUse 授权。当我调试时,我进入了 didFailWithError 中的 println 语句,它显示“操作无法完成。(kCLErrorDomain 错误 0。)”。我已将代码放在按钮后面进行尝试。这是一个已知问题的可靠性吗?如果我将应用程序加载到设备上,它会消失吗?任何想法表示赞赏。谢谢。
编辑
这是在 ViewController.swift 中的单个视图模板应用程序中。
let manager = CLLocationManager()
@IBAction func getMyLocation (sender : AnyObject){
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
let status = CLLocationManager.authorizationStatus()
if status == CLAuthorizationStatus.NotDetermined
{
manager.requestWhenInUseAuthorization()
}
manager.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
println("locations = \(locations)")
manager.stopUpdatingLocation()
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!){
println(error)
manager.stopUpdatingLocation()
}
【问题讨论】:
-
我从 Apple 下载了应用程序开发工具包,当我在 iPhone 上使用此脚本运行应用程序时,可以可靠地检索到位置。看起来这只是一个 iOS 模拟器问题。
标签: ios swift cllocation