0
有沒有一種方法可以確保在使用CoreLocation時不使用GPS?我想包含一個「省電」設置,該設置選擇使用GPS來跟蹤手機的位置。只有在使用CoreLocation獲取位置時才選擇使用Wifi?
假設這是可能的,如果我只使用Wifi,是否實際上會大大減少電池使用量?
謝謝你的時間! :)
有沒有一種方法可以確保在使用CoreLocation時不使用GPS?我想包含一個「省電」設置,該設置選擇使用GPS來跟蹤手機的位置。只有在使用CoreLocation獲取位置時才選擇使用Wifi?
假設這是可能的,如果我只使用Wifi,是否實際上會大大減少電池使用量?
謝謝你的時間! :)
不直接,沒有。但是,您可以將Core Location Manager的desiredAccuracy
屬性設置爲間接執行此操作(準確性越低,系統依賴GPS的可能性越小,並且可能完全依賴WiFi)。
蘋果文件還暗示的事實設置較低的精度可以節電:
你應該賦值給此屬性是適合您的使用場景。換句話說,如果您只需要幾公里內就需要當前位置,則不應指定kCLLocationAccuracyBest來確保準確性。以更高的準確度確定位置需要更多的時間和更多的權力。
所以,你可以有一個用來kCLLocationAccuracyBest
的模式,併爲您的「低功耗」模式中使用kCLLocationAccuracyKilometer
的模式。
好吧,這意味着我不能直接選擇不使用GPS,但它有助於實現低功耗狀態,這基本上是我想要的。謝謝! :) – Sid
我已經在iOS 8中進行了一些測試,並且在'kCLLocationAccuracyThreeKilometers'處設備關閉了GPS。實現這一目標的另一種方式是使用重大改變模式而不是GPS。一旦你達到3公里的範圍,這相當接近。 –