我正在编写一个iPhone应用程序,使用标准位置跟踪报告位置 . CLLocationManager设置如下:

let locationManager = CLLocationManager()
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
    locationManager.distanceFilter = 250.0
    locationManager.allowsBackgroundLocationUpdates = true
    locationManager.pausesLocationUpdatesAutomatically = false
    locationManager.startUpdatingLocation()

(现在,我想要非常详细和准确的报告,但我可能会稍后放松一下 . 现在,我只是想让我的代码完全工作 . )

我正在测试两款iPhone 6s . 两人都在我家里,整天都在家里 .

电话#1显示很少的更新,并且都在非常紧凑的半径内,远低于用于配置位置管理器的250米距离过滤器 .

电话#2在5小时内显示超过100次更新,大约相差一英里,点数排列非常接近直线 . 我家里有一大群积分,另一端有一个大集群,一英里之外,两者之间的点数较少 .

这两款手机都在Verizon网络上,并连接到同一个wifi路由器 .

什么可能导致这种巨大的行为差异的想法?我猜测电话#2有时基于wifi进行报告,有时基于蜂窝塔三角测量(有时将两者结合起来?),而手机#1只使用wifi . 为什么在硬件,iOS版本,手机网络和路由器中匹配的手机应该在这样的行为上有所不同令人费解 .