deferredLocationUpdatesAvailable在iOS 10中返回NO

前端之家收集整理的这篇文章主要介绍了deferredLocationUpdatesAvailable在iOS 10中返回NO前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用一些CoreLocation功能,我遇到了延迟位置更新的问题.

由于某些原因,当应用程序更新为iOS 10时,deferredLocationUpdatesAvailable始终返回NO.我正在测试iPhone 6s,所以我知道该设备能够使用GPS功能.

我尝试使用它来调试:

@H_301_6@[CLLocationManager deferredLocationUpdatesAvailable]

我无法弄清楚这是iOS 10的问题,还是我的设置不正确.

在这个方法中:

@H_301_6@- (void)locationManager:(CLLocationManager *)manager didFinishDeferredUpdatesWithError:(NSError *)error { self.deferringUpdates = NO; NSLog(@"DEFERRING Error: [%@]",error); if (error) { [[LocationManagerClient alertWithMessage:error.localizedDescription andTitle:error.domain] show]; } }

我最终记录了这个错误

@H_301_6@DEFERRING Error: [Error Domain=kCLErrorDomain Code=11 "(null)"]

有没有其他人遇到iOS 10的这个问题或有任何想法发生了什么?

编辑:
这就是我设置距离滤镜的方法

@H_301_6@- (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),其概念证明为 sample code – 也包含雷达的措辞.我也开了一个 dev forum post,看来很多工程师都面临着同样的问题. deferredLocationUpdatesAvailable()在iOS 10中也返回false.似乎苹果故意关闭了这个功能.

更新

我的错误报告已关闭,说’它按预期工作’.我想苹果公司并不打算解决这个问题,并且在没有弃用的情况下错误地将其取出.

猜你在找的iOS相关文章