-2

ここでは、ロケーションマネージャーを使用して現在の場所を更新する必要があり、シミュレーターでは正しく更新されますが、デバイスでは更新されないのは 4 ~ 5 回だけです。なぜ場所が頻繁に更新されないのか、この問題を解決するために親切に助けてください。

ここで私が使用したコードを以下に示します

CLLocationManager *locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
    [locationManager startUpdatingLocation];

委任方法:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{

    NSLog(@"newLocation: %@",newLocation);
}

これはデリゲート メソッドが 4 ~ 5 回呼び出されていることです。

4

2 に答える 2

0

ここで、このデリゲートメソッドを使用してこの問題を解決しました

- (void)locationManager:(CLLocationManager *)manager
     didUpdateLocations:(NSArray *)locations{
}
于 2013-02-19T05:27:12.300 に答える
0

位置精度を「 」として使用している場合はkCLLocationAccuracyBestForNavigation、デバイスを接続したままにする必要があります。

' ' に設定したほうがよいでしょうkCLLocationAccuracyBest。また、デリゲートを攻撃するためにかなりの距離に移動します。最初はあなたを見つけるために4〜5回ヒットします。あなたの場所が特定されると、あなたの場所に変更があったときにデリゲートを呼び出します。

そのため、デリゲートでは、追加モードでドキュメント ディレクトリに保存されているファイルに何かを書き込みます。緯度/経度と時間の詳細をログに記録します。ここで少し距離を移動します。

モバイルに参加し、ドキュメント ディレクトリからファイルを取得します。必要な詳細をログに記録する必要があります。

于 2012-12-20T13:11:52.723 に答える