首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS 7背景定位更新高精度,低电池使用率与暂停禁用

iOS 7背景定位更新高精度,低电池使用率与暂停禁用
EN

Stack Overflow用户
提问于 2014-02-10 15:13:53
回答 1查看 4.1K关注 0票数 2

我正在开发一个应用程序,在用户进入或离开时通知他们预定义的位置。一个位置的跨度可以低到50米,所以它需要相当精确和规则。当前将位置更新发送到服务器,服务器确定用户是否在位置区域内,并相应地发送通知。

我们的问题是,改变iOS 7的位置暂停已经成为一个主要的问题。该应用程序仍处于打开状态(在应用程序切换程序中),但15分钟后,在重新打开应用程序之前,不会收到更多的位置更新。但是用户需要被告知他们进入的所有未来的位置。使用"setPausesLocationUpdatesAutomatically“方法禁用暂停会使GPS不断被启用,而不管所定义的活动类型如何。

我相当肯定,我几乎已经用尽了所有可以满足所有要求的方法。在iOS 7之前,我们的应用程序运行得很好。电池寿命是可以接受的(我知道它永远不会是完美的),在一个每天的充电周期,但我们需要有所改进。

到目前为止,我们简要介绍了我们的解决方案:

  • 保存本地位置副本,并使用CLLocationManager区域注册它们。不幸的是,我们发现这种方法的准确性很差,因此调用enter/exit方法为时已晚,不可行。
  • 自定义位置模型;最初使用重要的位置更新,当用户移动x米时切换到标准位置更新。但重要的位置更新仅每500米一次,每5分钟进行一次。
  • 与上述类似,除了使用加速度计根据多个步骤启用位置更新外。但是当处于背景状态时,加速度计数据是不可用的。
  • 从有限运行的后台任务每3分钟打开一次位置更新
  • 另一个想法,虽然没有经过测试,将是依靠护照发送通知。从经验来看,它更可靠。当然,这是一个相当大的变化,而不是我们已经测试过的东西。

一个典型的例子,我们正在努力实现的,在准确性和可靠性是移动。我经常使用它,它总是很活跃,在电池寿命方面持续一整天。

基本上,我是问是否有人使用过我提到的解决方案,或者有任何其他工作解决方案或配置?

我非常希望有人能影响我现有的解决方案之一,甚至提供一个新的、可行的解决方案,因为我不确定还能做些什么。

非常感谢大家提前阅读这篇文章。

EN

回答 1

Stack Overflow用户

发布于 2014-02-10 20:56:50

对于您的任务(位置每50米),您需要永久GPS。每隔几分钟禁用一次重新启用是没有意义的。

您需要设置CLLocationAccuracyBestaccuracyBestForNavigation。但是要小心: accuracyBestForNavigation可能启用加速度传感器,阅读CLLocationAccuracyBestForNavigation的docu

因此,在您的情况下,我将使用CLLocationAccuracyBest。(避免不必要地启用传感器)

想一想,如果你需要GPS的背景,或者让用户决定你的应用程序是永久的还是只在前台工作。

在ios6,我的应用程序可以运行8h的永久全球定位系统记录。(如果您已经禁用了第三方消息传递服务,并且没有一直在播放该显示。)

在ios7,这一点并没有改变:我现在有8h的永久录制每秒一个补丁,还有41%的电池剩余。所以你的ios7问题不是由全球定位系统的电池消耗引起的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21680840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档