如何删除cllocation的缓存?

时间:2010-02-01 10:58:01

标签: iphone caching cllocation

我正在开发一款支持位置感知应用的iPhone应用。  Currentlly应用程序正常工作,除了以前位置的缓存。  我第一次启动应用程序位置管理器获取当前位置,然后根据当前位置显示附近的内容。

但从下一次它使用以前获取的位置,直到我重新启动手机它将获取相同的位置。所以到目前为止,我很清楚位置管理器会缓存该位置。

所以我的问题是如何删除此缓存并强制位置管理器获取新位置 感谢

1 个答案:

答案 0 :(得分:7)

实际上我认为你不能:由你(在你的CLLocationManagerDelegate实例中)根据你的时间戳来过滤你所获得的位置(以确保你所处的位置是最近的,不是缓存的。)

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ NSDate *eventDate = newLocation.timestamp; NSTimeInterval howRecent = [eventDate timeIntervalSinceNow]; //Is the event recent and accurate enough ? if (abs(howRecent) < SECS_OLD_MAX) { //WORK WITH IT ! } .... ....