我最近开始在 iPhone 5 上测试我的应用程序,令我震惊的是,CLLocationManager 似乎并没有真正起作用!虽然[CLLocationManager headingAvailable]
是YES
,但我根本没有收到任何标题更新。奇怪的是,在 iPhone 4 上,经过 30 次左右locationManager:didUpdateToHeading:
的标题更新后,不再调用。这个问题是全新的。位置管理器也返回负数verticalAccuracy
,所以我假设它是无效的高度。这是我创建位置管理器的方式:
CLLocationManager* locationManager = [[CLLocationManager alloc] init];
if([locationManager respondsToSelector:@selector(disallowDeferredLocationUpdates)]) {
[locationManager disallowDeferredLocationUpdates];
[locationManager setPausesLocationUpdatesAutomatically:NO];
}
locationManager.headingOrientation = CLDeviceOrientationFaceUp;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.headingFilter = -1;
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
[sharedSingleton setLocationManager:locationManager];
sharedSingleton
只是我的单例类,它处理一些零碎的事情,包括保持对位置管理器的引用。
如果我需要发布更多代码,请告诉我。我只是不知道是什么导致了这个奇怪的问题。谢谢!