相关疑难解决方法(0)

如何在iOS应用程序中每n分钟更新一次后台位置?

我正在寻找一种在iOS应用程序中每n分钟更新一次后台位置的方法.我正在使用iOS 4.3,该解决方案适用于非越狱的iPhone.

我尝试/考虑了以下选项:

  • CLLocationManager startUpdatingLocation/startMonitoringSignificantLocationChanges:这根据预期在后台工作,基于配置的属性,但似乎不可能强制它每n分钟更新一次位置
  • NSTimer:当应用程序在前台运行但似乎不是为后台任务设计时,是否有效
  • 本地通知:本地通知可以每n分钟安排一次,但是无法执行某些代码来获取当前位置(用户无需通过通知启动应用程序).这种方法似乎也不是一种干净的方法,因为这不是应该使用的通知.
  • UIApplication:beginBackgroundTaskWithExpirationHandler:据我所知,当应用程序移动到后台而不是实现"长时间运行"的后台进程时,这应该用于在后台完成一些工作(也限制时间).

如何实施这些常规后台位置更新?

objective-c background-process core-location ios

202
推荐指数
9
解决办法
17万
查看次数

pausesLocationUpdatesAutomatically [CLLocationManager]后重新启动locationUpates

我想知道iOS系统是否在pausesLocationUpdatesAutomatically属性自动暂停后自动重启CLLocationManager的locationUpdates,或者我是否必须自己处理这个案例.

如果是,根据哪些规则,如果不知道如何知道我再次开始移动并应重新启动locationUpdates?

iphone gps core-location cllocationmanager ios

4
推荐指数
1
解决办法
4400
查看次数

iOS 6 CoreLocation不起作用

我做了一个位置应用程序.但核心位置不起作用.我在iPhone上测试了其他iPhone应用程序.
像谷歌地球,导航软件.其他应用程序也不起作用.
为什么不更新位置?
为什么'locationManager:didUpdateToLocation:fromLocation:'消息只被调用2次?

也许......我的iPhone崩溃了?或iOS 6 CoreLocation框架有一些错误?

位置服务 - 开启iPhone设置

的Info.plist

  • 的ARMv7
  • 加速度计
  • 位置服务
  • 全球定位系统
  • 麦克风
  • 磁力仪

代码示例:

- (CLLocationManager *)setupLocationManager
{
  if ([CLLocationManager locationServicesEnabled] && [CLLocationManager headingAvailable]) {

     CLLocationManager *locationManager = [[CLLocationManager alloc] init];
     locationManager.delegate = self;
     locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
     locationManager.distanceFilter = kCLDistanceFilterNone;
     locationManager.headingFilter = kCLHeadingFilterNone;
     [locationManager startUpdatingLocation];
     [locationManager startUpdatingHeading];
     return locationManager;
  }
  return nil;
}

- (CLLocationManager *)locationManager
{
  switch([CLLocationManager authorizationStatus])
  {
    case kCLAuthorizationStatusAuthorized:
      _deltaTimeLocationReceived = 0.0;
      if (_locationManager == nil)
        _locationManager = [self setupLocationManager];
       return _locationManager;

      case …
Run Code Online (Sandbox Code Playgroud)

iphone core-location ios ios6

3
推荐指数
1
解决办法
5443
查看次数

iOS 6 AutoPause不起作用

我从" 会议303 - 从位置服务保持正轨 "WWDC 2012开始,遵循AutoPause的示例

在该示例中,您可以看到如何启用AutoPause,并且有两种方法被调用:

-(void) locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager
-(void) locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager
Run Code Online (Sandbox Code Playgroud)

我做了同样的例子,但这些方法从未被调用过.谁试过同样的?

location geolocation ios ios6

2
推荐指数
1
解决办法
2045
查看次数