前提・実現したいこと
ランニングアプリのように、アプリを閉じていても位置情報を取得し記録できるようにしたいです
発生している問題
locationManager.allowsBackgroundLocationUpdates = true
をviewDidLoadで記述してあるので、最初にアプリを閉じたときは白丸に矢印が青く抜かれたアイコンが表示され、バックグランドでも位置情報を取得してくれています。しかし、もう一度アプリをそのまま開きまた閉じると、位置情報を取得してくれません。
二回目にアプリを閉じたときは、位置情報の取得を知らせる白丸に矢印が青く抜かれたアイコンも表示されず、白く塗りつぶされた矢印が表示されます。
またlocationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
も呼ばれません。
該当のソースコード
swift
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 locationManager = CLLocationManager() 4 5 //最も制度の高い位置情報を要求する設定 6 locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation 7 //5メートル移動するごとに位置情報を取得する 8 locationManager.distanceFilter = 5 9 10 locationManager.requestWhenInUseAuthorization() 11 //バックグラウンドでも位置情報を取得できるようにする 12 locationManager.allowsBackgroundLocationUpdates = true 13 //自動で位置情報の取得を中断しないようにする 14 locationManager.pausesLocationUpdatesAutomatically = false 15}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。