应用程序背景刷新ios9 swift

时间:2015-10-07 14:16:29

标签: ios swift background ios9

我一直在使用swift开发一个使用iOS定位服务的应用。它直到ios9才出色。出于某种原因,我的应用程序在后台运行时停止运行,但仅在物理设备上运行。模拟器在后台运行良好。我正在通过NSLog记录东西,所以我可以告诉它在设备上停止而不是sim。

是的我设置了info.plist。是的我打开了后台功能。这确实在iOS8中有效,但出于某种原因9,应用程序在后台停止执行。

我在设置中打开了后台刷新功能,我的应用程序设置为始终请求位置更新,这也是在手机的设置中打开的。

我有点不知道为什么会发生这种情况,所以我猜我可能需要对xcode7和/或ios9进行一些代码更改。

非常感谢任何帮助!!!

罗布

1 个答案:

答案 0 :(得分:2)

所以看来Apple在iOS9中需要一个新东西:

allowsBackgroundLocationUpdates = true

这是针对位置经理。

我的最终代码如下:

    // this is needed for ios9 to get the location even when it's backgrounded
    if #available(iOS 9.0, *) {
        self.locationManager.allowsBackgroundLocationUpdates = true
    } else {
        // Fallback on earlier versions
    }