2015-10-07 137 views
1

我一直在开发一个应用程序,使用位置服务的iOS与迅速。在ios9之前它一直很棒。出于某种原因,我的应用在放入后台时会停止运行,但只能在物理设备上运行。模拟器在后台运行良好。我通过NSLog记录东西,所以我可以告诉它停在设备上而不是SIM卡上。应用程序背景刷新ios9 swift

是的我有info.plist集。是的,我打开了背景功能。这真的在iOS8中工作,但由于某种原因,9应用程序停止在后台执行。

我在设置中打开了背景刷新功能,并且我的应用设置为始终请求位置更新,该位置更新也在手机设置中打开。

为什么会发生这种情况,我有点不知所措,所以我猜测可能是我需要实现xcode7和/或ios9的某些代码更改。

任何帮助非常感谢!

罗布

回答

2

所以看起来苹果公司要求在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 
    } 
+0

干杯兄弟,你 – Gmeister4

+0

有点笨救了我如何,如果你不知道这一点,不要让你的应用程序更新,IOS 9的用户不能使用该功能! – Gmeister4

+0

是的,这非常令人沮丧。驱使我坚持了一个星期! – throb