首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在每15分钟内找到当前位置

如何在每15分钟内找到当前位置
EN

Stack Overflow用户
提问于 2011-12-26 20:29:04
回答 1查看 368关注 0票数 2

我开始使用ios-5开发一个项目,我想在每15分钟找到当前位置。

这是我的代码

代码语言:javascript
复制
- (void)applicationDidEnterBackground:(UIApplication *)application {

    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self; 
    locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
    [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    NSDate *newLocationTimestamp = newLocation.timestamp;
    NSDate *lastLocationUpdateTiemstamp;
    int locationUpdateInterval = 60; //1min

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    if (userDefaults) {
        lastLocationUpdateTiemstamp = [userDefaults objectForKey:@"myevent"];
     if (!([newLocationTimestamp timeIntervalSinceDate:lastLocationUpdateTiemstamp] < locationUpdateInterval)) {
            NSLog(@"New Location: %@", newLocation);

            //[self locationManager:locationManager didUpdateToLocation:newLocation fromLocation:oldLocation];
            [userDefaults setObject:newLocationTimestamp forKey:@"myevent"];
        }
    }
}

我遇到的问题是这个代码在后台工作,但我每隔5分钟就得到一次当前位置(这里是newLocation),而不是在1分钟之后,即使我设置了locationUpdateInterval = 60sec

我已经尝试了所有的方法,但没有得到确切的解决方案。提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2011-12-26 20:47:32

我听到的轶事证据是,为了节省电池寿命,CoreLocation更新只会周期性地触发后台应用程序。

我在这里看到了一些关于这个主题的相关问题,like this one

另外,请看一下Apple's Location Awareness Programming Guide,特别是“启动重要变化的位置服务”部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8635781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档