我一直在开发一个应用程序,该应用程序迅速使用iOS的位置服务。直到ios9都很棒。由于某些原因,我的应用程序在后台运行时会停止运行,但只能在物理设备上运行。模拟器在后台运行良好。我正在通过NSLog记录东西,所以我可以说它在设备上停止了,而不是在SIM卡上停止了。
是的,我设置了info.plist。是的,我已打开后台功能。这确实在iOS8中确实有效,但由于9的某些原因,该应用程序在后台停止执行。
我在设置中启用了背景刷新功能,并且我的应用设置为始终请求位置更新,该设置也已在手机的设置中启用。
我不知道为什么会发生这种情况,所以我猜测可能需要对xcode7和/或ios9进行一些代码更改。
很感谢任何形式的帮助!!!
抢
最佳答案
因此看来,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
}
关于ios - 应用程序后台刷新iOS9 Swift,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32994680/