使用iBeacon和CoreLocation时,我收到以下错误:
Error Domain=kCLErrorDomain Code=16“无法完成操作。(kCLErrorDomain错误16。)
除非我错过了,否则关于Apple的每个错误代码的含义似乎没有明确的参考。
任何人都能解释这个错误代码吗?
该错误从以下位置调用:
- (void)locationManager:(CLLocationManager *)manager rangingBeaconsDidFailForRegion: (CLBeaconRegion *)region withError:(NSError *)error{
NSLog(@"%@", error);
}
- (void)locationManager:(CLLocationManager *)manager monitoringDidFailForRegion:(CLRegion *)region withError:(NSError *)error{
NSLog(@"%@", error); }发布于 2013-11-24 02:01:16
看看CLError的文档。值16为kCLErrorRangingUnavailable。
医生说:
范围已禁用。如果设备处于飞行模式,或者如果蓝牙或定位服务被禁用,则可能会发生这种情况。
发布于 2015-06-08 20:03:27
您可以使用CLError枚举和返回给位置管理器的错误,以特定而清晰的方式处理位置错误。
它看起来是这样的:
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
if let locationError = CLError(rawValue: error.code) {
switch locationError {
case .Denied:
println("Location permissions denied")
default:
println("Unhandled error with location: \(error)")
}
}
}感谢@rmaddy提供的CLError技巧。
发布于 2014-04-25 02:17:03
此外,请确保启用了后台应用程序刷新。由于某些原因,我的iPhone 5s在iOS 7.1.1上,当后台应用程序刷新被禁用时,信标将不会范围,即使我的应用程序是在前台。打开应用程序刷新导致信标再次覆盖范围。
https://stackoverflow.com/questions/20164952
复制相似问题