9
定期的なiOSバックグラウンドの場所の更新
高精度かつ低頻度でバックグラウンドでの位置情報の更新を必要とするアプリケーションを書いています。解決策は、Location Managerの更新を開始してすぐにシャットダウンするバックグラウンドNSTimerタスクのようです。この質問は以前に尋ねられています: iOSアプリケーションでn分ごとにバックグラウンドで位置情報を更新するにはどうすればよいですか? アプリがバックグラウンドに移行した後、n分ごとにユーザーの場所を取得する iOS典型的なバックグラウンド位置追跡タイマーの問題ではない 「場所」バックグラウンドモードを備えたiOS長時間実行バックグラウンドタイマー 位置追跡に基づくiOSフルタイムバックグラウンドサービス しかし、私はまだ最低限の例を機能させる必要があります。上記の受け入れられた答えのすべての順列を試した後、私は出発点をまとめました。背景に入る: - (void)applicationDidEnterBackground:(UIApplication *)application { self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ NSLog(@"ending background task"); [[UIApplication sharedApplication] endBackgroundTask:self.bgTask]; self.bgTask = UIBackgroundTaskInvalid; }]; self.timer = [NSTimer scheduledTimerWithTimeInterval:60 target:self.locationManager selector:@selector(startUpdatingLocation) userInfo:nil repeats:YES]; } デリゲートメソッド: - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { NSLog(@"%@", newLocation); NSLog(@"background time: %f", …