ios12后台位置服务停止

时间:2018-09-27 09:36:00

标签: ios background-process 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)

当用户决定开始跟踪时

locationManager.allowsBackgroundLocationUpdates = true

已设置。

该应用为位置服务设置了“始终”权限。

您知道ios 12中发生了什么变化吗?

2 个答案:

答案 0 :(得分:4)

这似乎是一个错误,因为iOS 12导致应用程序无缘无故地在后台终止。我已经填写了一个错误报告。

有关更多信息和演示项目,请参见此处,以演示此问题: iOS 12 terminates apps in the background for no reason

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

答案 1 :(得分:1)

我也有这个问题,我昨晚尝试关闭“请勿打扰”,后台定位服务可以正常工作。

那么,“请勿打扰”模式可以停止定位服务吗?

除了关闭“请勿打扰”以外,还有其他避免位置服务停止的方法吗?