deferredLocationUpdatesAvailable在iOS 10中返回NO
我正在尝试使用一些CoreLocationfunction,并遇到延迟位置更新的问题。
由于某些原因,当应用程序更新为iOS 10 deferredLocationUpdatesAvailable返回NO始终。 我正在testingiPhone 6s,所以我知道该设备是能够使用GPSfunction。
我试着用这个来debugging:
[CLLocationManager deferredLocationUpdatesAvailable]
我不知道这是否是iOS 10的问题,或者如果我有东西设置不正确。
在这个方法中:
- (void)locationManager:(CLLocationManager *)manager didFinishDeferredUpdatesWithError:(NSError *)error { self.deferringUpdates = NO; NSLog(@"DEFERRING Error: [%@]", error); if (error) { [[LocationManagerClient alertWithMessage:error.localizedDescription andTitle:error.domain] show]; } }
我结束了logging这个错误:
DEFERRING Error: [Error Domain=kCLErrorDomain Code=11 "(null)"]
有没有人遇到这个问题与iOS 10或有任何想法是怎么回事?
编辑:这是我如何设置距离filter
- (void)configureForApplicationWillResignActive { [_locationManager setAllowsBackgroundLocationUpdates:YES]; [_locationManager setPausesLocationUpdatesAutomatically:NO]; [_locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; [_locationManager setDistanceFilter:kCLDistanceFilterNone]; // use distance filter [_locationManager requestAlwaysAuthorization]; } - (void)configureForApplicationDidBecomeActive { [_locationManager setAllowsBackgroundLocationUpdates:YES]; [_locationManager setPausesLocationUpdatesAutomatically:NO]; [_locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; [_locationManager setDistanceFilter:kCLDistanceFilterNone]; // use distance filter [_locationManager requestAlwaysAuthorization]; }
我已经提出了一个雷达(28303779)的概念样本代码的certificate – 也包含从雷达的措辞。 我也开了一个开发论坛post ,看来很多工程师都面临同样的问题。 deferredLocationUpdatesAvailable()
也在iOS 10中返回false。看起来像苹果已经故意closures了function。
更新
我的错误报告closures,说'它按预期工作'。 我想苹果不打算修复它,它被错误地取出没有贬低首先。
我看起来像这是在iOS 10中的错误
我们应该把所有的雷达文件都修好,请把我的文件打开: openradar.appspot.com/radar?id=4927958787555328