ios12后台定位服务停止

标签 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 有什么变化吗?

最佳答案

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

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

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

关于ios12后台定位服务停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52533884/

相关文章:

ios - 完全缩放图像而不丢失其内容

android - 从应用程序提示启用 gps 后如何刷新并获取当前位置?

ios - 如何将UIWebView放入框架中

ios - 一个 Storyboard中 iPhone 和 iPad 的不同方向

ios - Xcode iOS项目,如何在不放入版本控制的情况下存储开发用户/密码

ios - 检测在我的 iOS 应用中的任何应用上截取的屏幕截图

应用程序在后台时的 iOS 通知

ruby-on-rails-3 - 如何正确使用后台作业进行文件上传 rails app heroku

android - Android Lollipop 和其他设备如何请求位置权限?