CLLocationManager - kCLErrorDomain
CLLocationManager - kCLErrorDomain
我有一个 CLLocation 管理器。它工作正常。
locManager = CLLocationManager()
locManager.delegate = self
locManager.desiredAccuracy = kCLLocationAccuracyBest
locManager.requestWhenInUseAuthorization()
locManager.startUpdatingLocation()
当然,我有委托方法:
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
println("didfail")
println(error)
}
func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) {
println("location manager called..")
let locationLast = locations.last as! CLLocation
latitude = locationLast.coordinate.latitude.description
longitude = locationLast.coordinate.longitude.description
locManager.stopUpdatingLocation()
//....
}
没有任何问题,它正在运行!但是,当我在这里 47.5775679 19.0488392(或在该点的 1-2 公里半径内)时,它会抛出此错误:
Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be
completed. (kCLErrorDomain error 0.)"
我也尝试过使用模拟器和真实设备。当我尝试时,我在真实设备上有互联网连接。有黑洞吗? :) 或者我不知道。
谁能告诉我是什么导致了这种现象?
谢谢!
当您的设备无法从实际的 GPS 系统、wifi 或互联网找到您的位置时,就会发生这种情况。我的观察是,当设备(我的情况是 iPhone 4)在一个封闭的房间里并使用笔记本电脑的热点连接到 Wifi 时,大多数时候我都会遇到同样的错误。
可能的解决方案 -
如果出现此错误,请尝试调用 locManager.stopUpdatingLocation() 并再次调用 locManager.startUpdatingLocation()。
检查您的设备是否具有有效的 WIFI 或 3G/2G 互联网连接
转到设置并重置您的定位服务
重置您的网络设置
希望对您有所帮助。
这是一个旧的 question/answer 但它没有考虑模拟器的用例。也就是说,请确保您 没有 调试 > 位置 > None select 像这样:
确保 select 一个有效的位置,例如 Apple 在库比蒂诺的总部:
我有一个 CLLocation 管理器。它工作正常。
locManager = CLLocationManager()
locManager.delegate = self
locManager.desiredAccuracy = kCLLocationAccuracyBest
locManager.requestWhenInUseAuthorization()
locManager.startUpdatingLocation()
当然,我有委托方法:
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
println("didfail")
println(error)
}
func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) {
println("location manager called..")
let locationLast = locations.last as! CLLocation
latitude = locationLast.coordinate.latitude.description
longitude = locationLast.coordinate.longitude.description
locManager.stopUpdatingLocation()
//....
}
没有任何问题,它正在运行!但是,当我在这里 47.5775679 19.0488392(或在该点的 1-2 公里半径内)时,它会抛出此错误:
Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
我也尝试过使用模拟器和真实设备。当我尝试时,我在真实设备上有互联网连接。有黑洞吗? :) 或者我不知道。
谁能告诉我是什么导致了这种现象?
谢谢!
当您的设备无法从实际的 GPS 系统、wifi 或互联网找到您的位置时,就会发生这种情况。我的观察是,当设备(我的情况是 iPhone 4)在一个封闭的房间里并使用笔记本电脑的热点连接到 Wifi 时,大多数时候我都会遇到同样的错误。
可能的解决方案 -
如果出现此错误,请尝试调用 locManager.stopUpdatingLocation() 并再次调用 locManager.startUpdatingLocation()。
检查您的设备是否具有有效的 WIFI 或 3G/2G 互联网连接
转到设置并重置您的定位服务
重置您的网络设置
希望对您有所帮助。
这是一个旧的 question/answer 但它没有考虑模拟器的用例。也就是说,请确保您 没有 调试 > 位置 > None select 像这样:
确保 select 一个有效的位置,例如 Apple 在库比蒂诺的总部: