ios12后台位置服务停止

Mic*_*onz 9 background-process ios location-services

我有一个应用程序,可以在后台持续跟踪设备位置.这在ios 11.4中运行良好,我可以在后台运行应用程序几天,同时还在前台做其他事情.

现在使用ios 12,应用程序确实会在设备闲置一段时间后停止运行.

LocationManager初始化如下:

locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
locationManager.startUpdatingHeading()
locationManager.allowsBackgroundLocationUpdates = false
locationManager.pausesLocationUpdatesAutomatically = false
if #available(iOS 11.0, *)
{
    locationManager.showsBackgroundLocationIndicator = true
} 
locationManager.distanceFilter = prefs.getDoubleFromString(Prefs.PREF_DISTANCE_FILTER, defaultVal: 2.5)
Run Code Online (Sandbox Code Playgroud)

当用户决定开始跟踪时

locationManager.allowsBackgroundLocationUpdates = true
Run Code Online (Sandbox Code Playgroud)

已设定.

该应用程序具有位置服务的"始终"权限集.

知道ios 12中有什么变化吗?

Sjo*_*ors 4

这似乎是自 iOS 12 以来的一个错误,应用程序会无缘无故地在后台终止。我已经填写了错误报告。

请参阅此处的 参考资料 和演示项目来演示该问题: iOS 12 无缘无故地在后台终止应用程序

iOS 12.2 beta 2 (16E5191d) 中修复了错误