我需要我的应用程序随时了解用户的位置,即使在后台也是如此。我的应用收到一组感兴趣的区域,我需要检查用户是否越过。我事先不知道这些区域的大小,所以我需要高精度地监听位置更新。然后,我放弃使用显着变化的位置服务。此外,即使在后台,我也需要定期调用服务以进行数据更新。
因此,似乎仍然有两种选择:
1) 启用定位服务的后台模式并使用标准定位服务
2)区域监控,似乎不需要启用任何后台模式
但是,我没有找到有关区域监控准确性的信息。我的问题是:考虑到我有我想要检测用户是否在其中的区域的坐标,我需要高精度,并且如果启用了位置服务(使用计时器),我应该选择什么选项?
另一件事:我的应用程序必须支持 iOS 5+
提前致谢
最佳答案
首先,我建议您放弃对 iOS 5 的支持。如果是客户的要求,我建议你说服他们放弃这个。见:The market Share for iOS . iOS 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我发布了一些与故障相关的代码。
关于ios - iOS : standard location service vs. 区域监控在后台跟踪位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24304287/