核心位置不会更新重要的位置更改

时间:2013-03-22 04:53:08

标签: ios core-location

在我的应用程序(部署目标5.1)中,我使用CoreLocation设置提醒功能,它将基本搜索附近的项目(附加位置)作为设备更新其当前位置。

此功能在此阶段工作不稳定,有时无论设备处于活动状态,暂停状态还是终止状态,它都无法正常工作。我意识到委托方法locationManager:didUpdateToLocation:fromLocation:没有得到电话。

有没有人可以指出我的方向让这个东西正常工作?

这是我对CLLocationManager的设置

sharedLocationManager = [[CLLocationManager alloc]init];
[ESLocationManager defaultManager].delegate = someDelegateClassInstance;
[[ESLocationManager defaultManager] setDesiredAccuracy:kCLLocationAccuracyHundredMeters];
[[ESLocationManager defaultManager] startMonitoringSignificantLocationChanges];

委托回调的实现

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {

    // If it's a relatively recent event, turn off updates to save power
    NSDate* eventDate = newLocation.timestamp;
    NSTimeInterval howRecent = [eventDate timeIntervalSinceNow];
    if (abs(howRecent) < 20.0) {
        // If the event is recent,find nearby items.
        NSLog(@"latitude %+.6f, longitude %+.6f\n",
              newLocation.coordinate.latitude,
              newLocation.coordinate.longitude);

        //reload nearby list
        NSArray *nearbyItems = [self nearbyItemsForLocation:newLocation];
        if (nearbyItems && nearbyItems.count ) {
            UIApplicationState appState = [[UIApplication sharedApplication] applicationState];
            if (appState != UIApplicationStateActive) {
                [[UIApplication sharedApplication] presentLocalNotificationNow:[self localNotificationForItems:nearbyItems]];
            }
        }
    }

}

1 个答案:

答案 0 :(得分:-1)

与此区域监控论坛类似的原因

https://devforums.apple.com/message/251046#251046

希望这有帮助