我试图得到当前的位置,我正在处理这个问题:
90%的时间。它只是做得很好:它获取位置并调用didUpdateToLocation:,或者它失败并调用didFailWithError:。一切如期而至。
但是有时(*总是在iOS 4.2模拟器中,有时在一个真正的iPhone 4S设备上),它根本无法获得一个位置,并且它不调用任何回调(有时它调用didFailWithError,但在开始更新位置后2到3分钟,有时它从来不这样做),所以我无法找到一种方法来了解这一点。
顺便说一句,无法获得位置的是设备/模拟器,因为当这种情况发生时,地图应用程序会做而不是获取位置,无限期地显示动画活动轮。服务是启用的,而且一切都配置得很好,因为它大部分时间都能工作。
那么,问题是:有什么方法可以让我知道这种情况并向用户提供信息吗?
先谢谢大家
发布于 2012-06-01 12:24:41
我认为解决此问题的唯一方法是设置一个定时器,并通知用户,如果在合理的时间(例如,20秒或30秒)之后都没有调用委托方法,则无法获得位置修复。然后调用stopUpdatingLocation,稍后再试一次。
我不知道这种行为是否有文档记录,但似乎无法保证从位置管理器获得响应,因为它可能会在很长一段时间内处于无法获得位置修复但也不会观察到错误的状态。
https://stackoverflow.com/questions/10849133
复制相似问题