谁能更清楚地解释CLError(kCLErrorLocationUnknown,kCLErrorDenied,kCLErrorNetwork ......)?

时间:2011-07-29 10:36:47

标签: iphone xcode cllocationmanager

谁能更清楚地解释CLError? (kCLErrorLocationUnknown,kCLErrorDenied,kCLErrorNetwork,kCLErrorHeadingFailure,kCLErrorRegionMonitoringDenied,kCLErrorRegionMonitoringFailure,kCLErrorRegionMonitoringSetupDelayed)

3 个答案:

答案 0 :(得分:9)

是的,比文档更好,文档是如此含糊,至少在两个重要的情况下毫无意义。在我的测试中,kCLErrorLocationUnknown是一个可恢复的错误。到目前为止,我已经成功地忽略了它并继续前进。我在没有服务计划的备用iPhone上进行大部分GPS测试,我也会不时地抓住kCLErrorNetwork(如果你有支持GPS的设备也可以恢复)。其他与区域监控或地理编码结果有关,我不使用也不能说,但它们看起来相当简单。

答案 1 :(得分:2)

飞行模式似乎会生成kCLErrorLocationUnknown错误:

  • 初始化位置(startUpdatingLocation)
  • 将精确度设置为kCLLocationAccuracyBest
  • 得到一些阅读......
  • 将精度设置为kCLLocationAccuracyThreeKilometers
  • 将设备置于飞行模式,让wifi关闭
  • 将精确度设置为kCLLocationAccuracyBest

你会发现你可能很快得到一两个读数,然后你得到didFailWithError(kCLErrorLocationUnknown,kCLErrorDomain)

答案 2 :(得分:1)

优于the documentation

  

<强> kCLErrorLocationUnknown

     

位置经理现在无法获得位置值。

     

<强> kCLErrorDenied

     

用户拒绝访问位置服务。

     

<强> kCLErrorNetwork

     

网络不可用或发生网络错误。

     

<强> kCLErrorHeadingFailure

     

标题无法确定。

     

<强> kCLErrorRegionMonitoringDenied

     

用户拒绝访问区域监控服务。

     

<强> kCLErrorRegionMonitoringFailure

     

无法监控注册区域。

     

<强> kCLErrorRegionMonitoringSetupDelayed

     

核心位置无法初始化区域监控功能   立即