我读过了CLLocationManager kCLErrorDomain 代码? https://stackoverflow.com/questions/20164952/cllocationmanager-kclerrordomain-codes也苹果文档 https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManagerDelegate_Protocol/CLLocationManagerDelegate/CLLocationManagerDelegate.html#//apple_ref/occ/intfm/CLLocationManagerDelegate/locationManager:rangingBeaconsDidFailForRegion:withError:
我在调用 startRangingBeaconsInRegion: 之前检查以确保测距可用,并且还在 locationManager:rangingBeaconsDidFailForRegion:withError: 方法中检查测距是否可用。两次都返回 true。
当我获得受监视区域集时,我的信标位于该集中(因此注册监视正在工作)。
我读过错误 16 可能意味着测距不可用,蓝牙可能关闭,定位服务可能关闭,飞行模式可能打开,我已经检查了所有这些并且所有这些都可用并正在运行(显然不是在飞行模式下)。
每次运行应用程序时,什么可能导致测距失败?
看来我在将设备更新到 iOS 7.1 (iPhone 5S) 后开始面临这个问题。rangingBeaconsDidFailForRegion:
被呼叫error.domain
等于@"kCLErrorDomain"
与error.code
as kCLErrorRangingUnavailable
(16)(即使飞行模式未打开且蓝牙已启动并运行)。
我跟着大卫·吉永 https://stackoverflow.com/users/1461050/davidgyoung建议只启动设备(我按 Home + Power 进行了硬启动,直到设备关闭并显示 Apple 徽标,但也可以正常启动)设备,现在它似乎可以正常工作。
这似乎是 iOS 7.1 和 iOS 7.1.1 中的一个错误,请参阅此处https://stackoverflow.com/a/22949187/1461050 https://stackoverflow.com/a/22949187/1461050。唯一的解决方法 -for now- 是重新启动设备。
苹果现在已经发布了 iOS 7.1.2,应该可以解决这个问题(等待确认)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)