我正在开发一个应用程序,在用户进入或离开时通知他们预定义的位置。一个位置的跨度可以低到50米,所以它需要相当精确和规则。当前将位置更新发送到服务器,服务器确定用户是否在位置区域内,并相应地发送通知。
我们的问题是,改变iOS 7的位置暂停已经成为一个主要的问题。该应用程序仍处于打开状态(在应用程序切换程序中),但15分钟后,在重新打开应用程序之前,不会收到更多的位置更新。但是用户需要被告知他们进入的所有未来的位置。使用"setPausesLocationUpdatesAutomatically“方法禁用暂停会使GPS不断被启用,而不管所定义的活动类型如何。
我相当肯定,我几乎已经用尽了所有可以满足所有要求的方法。在iOS 7之前,我们的应用程序运行得很好。电池寿命是可以接受的(我知道它永远不会是完美的),在一个每天的充电周期,但我们需要有所改进。
到目前为止,我们简要介绍了我们的解决方案:
一个典型的例子,我们正在努力实现的,在准确性和可靠性是移动。我经常使用它,它总是很活跃,在电池寿命方面持续一整天。
基本上,我是问是否有人使用过我提到的解决方案,或者有任何其他工作解决方案或配置?
我非常希望有人能影响我现有的解决方案之一,甚至提供一个新的、可行的解决方案,因为我不确定还能做些什么。
非常感谢大家提前阅读这篇文章。
发布于 2014-02-10 20:56:50
对于您的任务(位置每50米),您需要永久GPS。每隔几分钟禁用一次重新启用是没有意义的。
您需要设置CLLocationAccuracyBest
或accuracyBestForNavigation
。但是要小心: accuracyBestForNavigation可能启用加速度传感器,阅读CLLocationAccuracyBestForNavigation
的docu
因此,在您的情况下,我将使用CLLocationAccuracyBest
。(避免不必要地启用传感器)
想一想,如果你需要GPS的背景,或者让用户决定你的应用程序是永久的还是只在前台工作。
在ios6,我的应用程序可以运行8h的永久全球定位系统记录。(如果您已经禁用了第三方消息传递服务,并且没有一直在播放该显示。)
在ios7,这一点并没有改变:我现在有8h的永久录制每秒一个补丁,还有41%的电池剩余。所以你的ios7问题不是由全球定位系统的电池消耗引起的。
https://stackoverflow.com/questions/21680840
复制相似问题