我创建了一个即使在后台也能跟踪用户位置的应用。然后,应用程序将用户gps coords记录到核心数据,并在用户选择结束会话时将其发送给应用程序。这似乎在开发时工作正常,但现在我得到的报告显示该应用程序缺少大量的gps积分。
我在应用程序中添加了一些日志记录(通过loge tries.com api),看来有时当应用程序输入背景音乐时它会停止记录,然后我会看到一条消息,即应用程序委托进行了完成。再次被调用。这让我觉得该应用程序正在被杀?有没有关于如何编码以在后台连续运行的可靠实例?我需要的功能非常类似于导航应用程序,在该应用程序中,位置在活动时会持续受到监控。
我试着通过在一分钟左右关闭gps然后每隔5分钟关闭一次GPS来节省一些电池寿命,因为这是我需要的频率。
它基于以下代码:http://mobileoop.com/background-location-update-programming-for-ios-7
我觉得我对此应该如何运作有一个根本的误解,我还没有遇到苹果开发者中心的任何一个例子。
非常感谢任何帮助或指示!
答案 0 :(得分:0)
我猜您在后台使用了重要的位置变化? 在我看来,这是正确的方法。
以下是您正在使用它时发生的事情:
来自Apple doc:
重要更改位置服务还可以唤醒当前暂停或未运行的iOS应用,以便提供新的位置数据。
这就是再次调用didfinishlaunching
的原因