iOS 9 - LocationManager 更新位置过于频繁

iOS 9 - LocationManager updating locations too frequently

我正在迁移一个现有的应用程序以使用 iOS 9,没有太多改变,但将 ATS 添加到 info.plist 并使用 MKAnnotationView 而不是 MKPinAnnotationView 用于地图上的自定义图钉。问题是当开始测试更改时,我注意到位置更新太频繁了,即使我站着不动也是如此。位置管理器的初始化方式没有任何改变。

这是日志的一小部分。

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 发生了忽略距离​​过滤器的变化?

locationManager:didUpdateLocations: 方法中,CLLocationManagerdistanceFilter 属性 正在根据速度进行重置,在 iOS 9 中,这似乎触发了新位置更新(返回最后一个已知位置),从而在几秒钟内产生数百个新位置更新。