バックグラウンドで位置情報を取得してファイルに書き込み
位置情報を取得して表示 の続き
Startボタン、Stopボタンを追加して、処理を追加。
// Startボタンタップ時
@IBAction func tapStart(_ sender: Any) {
locationManager.startUpdatingLocation()
}
// Stopボタンタップ時
@IBAction func tapStop(_ sender: Any) {
locationManager.stopUpdatingLocation()
}
バックグラウンドで位置情報を取得する(CoreLocation::CLLocationManager) - Qiita
小さい値を設定すると、一箇所にとどまっている時にも、位置情報が通知され続けます。
動作確認用に1(m)を設定。実際に使う時は100(m)に設定。
locationManager.distanceFilter = 1 //1m移動したら位置情報を更新する
iOS(CoreLocation) で位置情報の移動ルートをなるべく綺麗に記録する5つの方法(+おまけ) - Qiita
// バックグランドでも位置情報を取得
locationManager.allowsBackgroundLocationUpdates = true
iOS(CoreLocation) で位置情報の移動ルートをなるべく綺麗に記録する5つの方法(+おまけ) - Qiita
プロジェクト設定から、BackgroundModesをON、Location updatesにチェックを入れる。
CoreLocationを使ってバックグラウンドで位置情報を取得する - shobylogy
distanceFilter
CLLocationManager - iPhoneアプリ開発の虎の巻
Simulatorで、Features - Location - Freeway Driveを選択すると、車の移動をシミュレート
iOS Simulator での現在位置の設定をすると捗る - Qiita
実機で、アプリを最小化、iPhoneの画面を消しても位置情報を取得する。
アプリの画面を閉じると、位置情報は取得しない。