ios12后台位置服务停止

问题描述 投票:9回答:2

我有一个应用程序,可以在后台持续跟踪设备位置。这在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中有什么变化吗?

ios background-process location-services
2个回答
4
投票

这似乎是iOS 12以来的一个错误,即应用程序将在后台被终止,没有正当理由。我填写了一份错误报告。

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

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


1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.