相关疑难解决方法(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万
查看次数

RegionMonitoring监控的"区域"数,基于用户在iOS7中的当前位置

我正在开发这样一个应用程序执行以下操作的项目:

  1. 用户选择半径(10米到1000米),然后viewController按"开始"按钮转到下一个
  2. 在这里,应用程序抓取用户当前位置并根据具有所选半径的当前位置开始"区域监视"
  3. 如果用户越过该特定边界(10米到1000米),则它会发出"ExitRegion"警报消息.并根据用户新的当前位置再次启动"区域监控".应用程序一直在这样做,包括前台和后台模式.我设法做到这一点并且工作得很好.

现在,我在这里监视一个区域,然后再监视另一个区域.所以数字实际上就是一个.但是我知道一个应用程序可以通过"区域监控"监控的区域的最大数量是15.现在我的问题是在这种情况下我应该处理这个最大数量的区域问题吗?如果是,那怎么样?

我想补充的另一件事是,它有一些解决方案,它只适用于iOS 6及更早版本.所以请根据用户在iOS7中的当前位置,通过"RegionMonitoring"监控处理"区域"数量的解决方案,让我知道.

如果能够给出答案或任何建议来完成我的应用程序所需要求,我将感到非常高兴.

core-location mapkit ios geofencing region-monitoring

5
推荐指数
1
解决办法
1898
查看次数