关闭GPS在后台
问题描述:
我使用CoreLocation来确定用户的位置来计算距离,并显示在地图上的路线。为了最大限度地减少电池使用,我在获取位置后关闭GPS,并在1分钟后再次打开GPS。当应用程序处于活动状态时,一切正常,但在将其发送到后台并关闭GPS之后,该应用程序似乎完全不活动,它不输出任何内容(使用NSLog()
)。我添加了指令info.plist
文件以允许应用程序在后台运行。当我在后台关闭GPS时,该应用程序和前台一样工作。关闭GPS在后台
所以我的问题是:做GPS总是需要在后台阻止应用程序被开启暂停或者还有另一种解决方法(因为原来GPS消耗电池电量)?
P.S.我对iOS和移动开发是新手,所以也许有一些我必须知道的提示。
答
苹果不支持长时间运行的后台任务一般。
这并不只针对特定任务的工作:
音频, 位置, VOIP, 报摊内容, 外部附件, 蓝牙中央和 蓝牙外设
当你不使用任何一点,你的应用程序可能会被暂停。
在你的情况ypu有指定的位置,但禁用位置更新。然后对于苹果没有理由让你的应用程序在后台模式。
如果GPS是关闭的背景没有活动触发动作。您是否设置了计时器,并查看您的应用是否处于活动状态? – AlexWien
是的,确切地说。我有一个计时器,当GPS在后台关闭时它不起作用。但它在GPS打开时工作。 – haynar