为什么应用程序仍然在ios的后台运行?

时间:2015-02-16 22:20:37

标签: ios objective-c core-location cllocationmanager

好的,所以我的意志不时需要更新后台位置,但不能总是如此。所以,为此,我启用了Backgroud模式以进行位置更新,并在单例中创建位置管理器,然后当用户需要位置时,它开始更新,如果没有,则停止管理器更新。

后来我发现如果位置正在更新,应用程序仍然在后台运行。但奇怪的是即使更新被禁用也会发生同样的情况。

我甚至删除了创建CLLocationManager的代码,因此它的' nil'整个时间,但当我离开应用程序时,应用程序仍然在后台运行。这怎么可能。我还尝试停止管理员的位置更新。我真的需要这个应用程序就像普通应用程序一样,在不需要位置更新的情况下,为了电池的使用。

我有办法阻止应用程序在不需要locaiton的情况下在后台运行。

1 个答案:

答案 0 :(得分:0)

Xcode使应用程序保持唤醒状态,断开连接以正确测试后台操作。如果您在plist中为权利指定了后台模式,则允许指定的服务在某些情况下运行和更新(每个服务都不同)。

当应用程序收到通知后,您应该关闭所有活动服务并将其从Xcode中进行测试。