我正在遷移現有的應用程序以與iOS 9一起使用,但沒有太多需要更改,但將ATS添加到info.plist
,並使用MKAnnotationView
而不是MKPinAnnotationView
作爲地圖上的自定義引腳。問題是,當開始測試更改時,我注意到位置更新過於頻繁,即使我靜止不動。位置管理器初始化的方式沒有任何改變。iOS 9 - LocationManager更新位置太頻繁
這是日誌的一個小例子。
2015-09-25 12:16:25.462 MyApp[2009:911066] location: <+39.09040164,-77.52540765> +/- 65.00m (speed -1.00 mps/course -1.00) @ 9/25/15, 12:16:25 PM Eastern Daylight Time
2015-09-25 12:16:25.464 MyApp[2009:911066] location: <+39.09040164,-77.52540765> +/- 65.00m (speed -1.00 mps/course -1.00) @ 9/25/15, 12:16:25 PM Eastern Daylight Time
2015-09-25 12:16:25.468 MyApp[2009:911066] location: <+39.09040164,-77.52540765> +/- 65.00m (speed -1.00 mps/course -1.00) @ 9/25/15, 12:16:25 PM Eastern Daylight Time
2015-09-25 12:16:25.475 MyApp[2009:911066] location: <+39.09040164,-77.52540765> +/- 65.00m (speed -1.00 mps/course -1.00) @ 9/25/15, 12:16:25 PM Eastern Daylight Time
位置管理設置這樣
locationManager = [CLLocationManager new];
locationManager.delegate = self;
locationManager.distanceFilter = 25.0f;
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[locationManager requestAlwaysAuthorization];
}
[locationManager startUpdatingLocation];
我猜問題是:有什麼錯我的執行或在那裏核心位置API的變化被忽略的距離過濾器?
'CLLocationManager'上的'pausesLocationUpdatesAutomatically'屬性是否設置爲YES?如果設置爲「是」,如果位置數據不太可能改變,則通過禁用位置更新來幫助延長電池壽命。 –
@MatteoPacini在代碼中的任何一點都不會設置爲「否」,默認值是「YES」。我會嘗試明確地將其設置爲「是」。謝謝。 – quant24
@MatteoPacini我試過了,沒有任何區別。感謝壽。 – quant24