Iphone 从未调用CLLocationManager回调(locationManager:didUpdateToLocation:fromLocation和locationManager:didFailWithError:)
我正在尝试获取当前位置,我正在处理此问题: 大约90%的时间。它只是做得很好:它获取位置并调用Iphone 从未调用CLLocationManager回调(locationManager:didUpdateToLocation:fromLocation和locationManager:didFailWithError:),iphone,ios,location,cllocationmanager,Iphone,Ios,Location,Cllocationmanager,我正在尝试获取当前位置,我正在处理此问题: 大约90%的时间。它只是做得很好:它获取位置并调用didUpdateToLocation:,或者它失败并调用didFailWithError:。一切如期而至 但有时(*总是在iOS 4.2模拟器中,有时在真正的iPhone 4S设备上),它根本无法获取位置,也不会调用任何回调(有时在开始更新位置2或3分钟后调用didFailWithError,有时根本不会),所以我找不到一种方法来意识到这一点 顺便说一句,设备/模拟器无法获取位置,因为发生这种情况时,
didUpdateToLocation:
,或者它失败并调用didFailWithError:
。一切如期而至
但有时(*总是在iOS 4.2模拟器中,有时在真正的iPhone 4S设备上),它根本无法获取位置,也不会调用任何回调(有时在开始更新位置2或3分钟后调用didFailWithError,有时根本不会),所以我找不到一种方法来意识到这一点
顺便说一句,设备/模拟器无法获取位置,因为发生这种情况时,“地图”应用程序也无法获取位置,无限期地显示动画活动轮。服务已启用,并且所有配置都很好,因为它在大多数情况下都能正常工作
所以,问题是:有没有一种方法可以让我意识到这种情况并向用户提供信息
提前感谢大家我认为解决此问题的唯一方法是设置计时器,并通知用户,如果在合理的时间(例如,20秒或30秒)后没有调用任何一个委托方法,则无法获得位置修复。然后调用
停止更新位置
,稍后再试
我不知道是否记录了这种行为,但似乎不能保证您能从位置管理器那里得到响应,因为它可能会在一种状态下保持很长时间,在这种状态下,它无法获得位置修复,但也没有观察到错误。这正是我的想法,也是我想做的。谢谢你的回复