cllocationのキャッシュを削除する方法?
-
24-09-2019 - |
質問
私は、位置認識アプリですiPhoneアプリを開発しています。 Currentllyアプリは、以前の場所のキャッシュを除いて正常に動作しています。 私はアプリケーションのロケーションマネージャを最初に起動したときには、現在の位置を取得し、その後、私は現在の位置に基づいて近くのものを表示します。
しかし、次からそれは以前にフェッチされた場所を使用していますし、私が電話を再起動するまで、それは同じ場所を取得します。だから、ここまで私は、ロケーションマネージャが場所をキャッシュすることは明らかです。
だから私の質問は、このキャッシュを削除し、新しい場所を取得するためにロケーションマネージャを強制する方法です 感謝
解決
実は、私はあなたができるとは思わない:それはあなたがそのタイムスタンプに基づいて受信位置をフィルタリングする(ごCLLocationManagerDelegate
インスタンスに)あなた次第です(あなたが作業位置は、最近の1、いないキャッシュされた一つであることを保証するために)。
タグ
-(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 ! } .... ....