我们正在制作一个允许用户跟踪他们的运动的应用程序,虽然它在 iPhone 上运行良好,但似乎每当 iPad 进入睡眠状态时,它就会停止接收位置更新。位置管理器链接到作为后台任务工作的计时器,并在 4 分钟标记处持续触发(这是它的设计工作方式),但在 iPad(第一代,3G 连接)上,即使位置管理器据说正在寻找数据,设备从不接收任何位置数据。与 iPhone 一起测试时,iPhone 的追踪性能良好,而 iPad 则不然。
这是 iPad(或第一代 iPad)的限制吗?
我可以确认后台方法正在通过日志被调用,并且在获取位置数据时,问题不在于计时器不工作或后台任务没有被执行。在系统终止任务之前后台任务没有足够的时间来获取位置可能是一个问题,但我认为也不是这种情况(即使那样,它至少应该接收位置数据几次一天内)。是的,当然 info plist 有一个标签,用于在后台使用位置数据。