关闭GPS在后台

问题描述:

我使用CoreLocation来确定用户的位置来计算距离,并显示在地图上的路线。为了最大限度地减少电池使用,我在获取位置后关闭GPS,并在1分钟后再次打开GPS。当应用程序处于活动状态时,一切正常,但在将其发送到后台并关闭GPS之后,该应用程序似乎完全不活动,它不输出任何内容(使用NSLog())。我添加了指令info.plist文件以允许应用程序在后台运行。当我在后台关闭GPS时,该应用程序和前台一样工作。关闭GPS在后台

所以我的问题是:做GPS总是需要在后台阻止应用程序被开启暂停或者还有另一种解决方法(因为原来GPS消耗电池电量)?

P.S.我对iOS和移动开发是新手,所以也许有一些我必须知道的提示。

+0

如果GPS是关闭的背景没有活动触发动作。您是否设置了计时器,并查看您的应用是否处于活动状态? – AlexWien

+0

是的,确切地说。我有一个计时器,当GPS在后台关闭时它不起作用。但它在GPS打开时工作。 – haynar

http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

苹果不支持长时间运行的后台任务一般。
这并不只针对特定任务的工作:

音频, 位置, VOIP, 报摊内容, 外部附件, 蓝牙中央和 蓝牙外设

当你不使用任何一点,你的应用程序可能会被暂停。
在你的情况ypu有指定的位置,但禁用位置更新。然后对于苹果没有理由让你的应用程序在后台模式。

+0

除了GPS始终在后台打开之外,是否还有针对此情况的任何解决方法? – haynar

+0

或者可能在暂停之前有一段时间间隔,比如说2分钟,并且在那段时间内,我可以关闭GPS而不会暂停并再次打开。 – haynar

+0

是在那个文件是保持,你可以要求更多的时间来保存暂停。 – AlexWien