我的應用需要(儘可能精確地)記錄用戶的位置和運動隨着時間的推移。如果我讓設備進入睡眠狀態,GPS精度似乎會自動降低。我可以阻止它睡覺,但顯然這是電池進一步耗盡。我希望允許顯示器進入睡眠狀態,但要保持位置管理器的最高準確性。我在後臺模式部分勾選了位置更新。我的代碼看起來像這樣...如何在設備睡眠時保持全功率GPS
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation
locationManager.distanceFilter = 1
locationManager.activityType = .Fitness
locationManager.requestAlwaysAuthorization()
locationManager.pausesLocationUpdatesAutomatically = false
locationManager.startUpdatingLocation()
UIApplication.sharedApplication().idleTimerDisabled = true
我真的想刪除最後一行,但我已經在4秒鐘完成測試表明,只要設備睡它失去準確性。
您能否定義「位置管理器失去準確性」?您究竟如何定義精確度 - 是報告位置的水平精度,距離過濾器還是其他? –
是的,謝謝你的迴應。我正在測量水平精度(.horizontalAccuracy)。 – Melchester
您能否告訴我們。從前景到背景以及最後進入暫停模式時,.horizontalAccuracy會發生怎樣的變化?你可以發佈樣本讀數 - 我只對三個變量感興趣:horizontalAccuracy,速度和時間戳。 –