我需要我的应用程序知道用户的位置在任何时候,即使在后台。我的应用程序收到一组感兴趣的区域,我需要检查用户是否交叉。我事先不知道这些区域的大小,所以我需要高精度地监听位置更新。然后,我放弃使用有重大变化的位置服务。此外,我还需要定期调用服务来更新数据,即使是在后台也是如此。
因此,似乎仍然有两个选择:
1)启用定位服务后台模式,使用标准定位服务
2)区域监控,似乎不需要开启任何后台模式
然而,我没有找到关于区域监测准确性的信息。我的问题是:考虑到我有想要检测用户是否在的区域的坐标,我需要高精度,并且如果启用了位置服务(使用计时器),我需要在后台执行常规的异步服务调用,我应该选择什么选项?
另一件事:我的应用程序必须支持iOS 5+
提前感谢
发布于 2014-06-20 14:43:39
首先,我建议你放弃对iOS 5的支持。如果这是客户的要求,我建议您说服他们放弃这一点。请参阅:The market Share for iOSiOS 5及更低版本的市场份额不到2%,为这些设备进行优化所花费的时间是不值得的。
就我个人而言,对于我在过去6个月开发的应用程序,我只支持iOS 7和更高版本。
至于你的问题,你可以选择这两个选项。它们并不相互冲突。我开发的应用程序在后台提供定位服务,每分钟将用户的当前位置发送到服务器,该应用程序还具有针对犯罪区域的区域监控。当用户进入区域时,将收到通知。
有关如何在后台保持应用程序活动的信息,您可以查看此帖子:Background Location Services not working in iOS 7
对于区域监控,您可以查看此帖子:Region Monitoring Glitch on iOS 7 - Multiple Notifications at the same time我发布了一些与小故障相关的代码。
https://stackoverflow.com/questions/24304287
复制相似问题