【问题标题】:IOS background location service, differ by timeIOS后台定位服务,因时间而异
【发布时间】:2014-11-25 08:14:32
【问题描述】:

我正在开发带有位置服务器的 IOS 应用程序。在应用程序中,我定期检查用户位置,并将位置详细信息发送到服务器。

以下是步骤:

1:应用注册位置更新(在 plist 中)。

2:添加如下代码:

-(void)startUpdating{
    locationManager = [[CLLocationManager alloc]init];
    locationManager.delegate = self;
    [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];
    locationManager.pausesLocationUpdatesAutomatically = YES;
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
    locationManager.distanceFilter = kCLDistanceFilterNone;
}

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
    dispatch_async(dispatch_get_main_queue(), ^{
        //call web service location 
        [self UpdateAppmyLocation:@"1"];
    });
   [locationManager allowDeferredLocationUpdatesUntilTraveled:200 timeout:(NSTimeInterval)90];

}

- (void)applicationWillResignActive:(UIApplication *)application
{
    [locationManager startUpdatingLocation];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [locationManager stopUpdatingLocation];
}

3:在 didFinishLaunchingWithOptions 中调用了 startUpdating 方法。

一切正常,但 didUpdateLocations:locations 方法每分钟调用一次。我正在尝试增加延迟一段时间,以免导致电池问题。

注意:在装有 iOS 7.1 的 iPhone 5 上测试应用

请告诉我解决方案。

【问题讨论】:

  • 据我所知,allowDeferredLocationUpdatesUntilTraveled 无法正常工作。
  • 给出 Domain=kCLErrorDomain Code=11 "操作无法完成。(kCLErrorDomain error 11.) 错误。

标签: ios iphone background location


【解决方案1】:
https://github.com/voyage11/Location

使用此代码。您可以在要调用它的时间后设置时间。 我尝试了很多代码,但我发现这是最准确的并列出了电池问题。这对于后台定位服务也很棒。

【讨论】:

  • Location 委托将在根据 setDesiredAccuracy 和 distanceFilter 获得新位置时触发...................... ............. 你必须调用 [locationManager stopUpdatingLocation];和 [locationManager startUpdatingLocation];需要时不时。和
  • 使用定时器和定时器的应用程序未在睡眠模式下工作。我希望我的应用程序进入睡眠模式 10-12 分钟。所以会降低电池电量。
  • 我已经测试过这段代码..它消耗的电池电量非常少..你可以试试这个
  • 它可以在挂起模式下工作吗?另外,你得到了什么准确度?苹果接受你的应用吗?
  • 不,它不会在挂起模式下工作。它只能在前台或后台模式下工作
猜你喜欢
  • 2014-08-10
  • 2014-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-25
相关资源
最近更新 更多