为了确定用户的位置,我使用CoreLocation框架(我目前正在开发一个OSX应用程序(由于wifi确定位置)但我的问题也可能适用于iOS应用程序)和以下委托方法:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
由于某些原因,无法找到用户位置(例如,如果用户的计算机未连接到互联网),则会调用以下方法:
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
在这种情况下,我想获得最后一个已知的用户位置。我想知道是否有办法获得这个最后的已知位置。在某个地方是否有一系列以前确定的位置?
答案 0 :(得分:0)
请参阅官方文档:
根据这一点,
@property(readonly, nonatomic) CLLocation *location
如果没有位置数据,则此属性的值为nil 曾被检索过。 在iOS 4.0及更高版本中,此属性可能包含 发布时更新的位置对象。具体来说,如果 正在运行重要的位置更新,您的应用程 已终止,此属性将使用最新位置进行更新 重新启动应用程序时的数据(并创建一个新的 位置管理器对象)。此位置数据可能比最近的更新 您的应用程序处理的最后一个位置事件。
所以这是获取最后一个已知位置的唯一方法。 如果它不是零,你可以使用它!