ios - CoreLocationManager 从不暂停?
问题描述
试图让我的应用程序使用更少的电量,它总是在后台跟踪位置,但我希望它自动暂停,这样我就可以打开区域监视并在用户移动一点后使用它来恢复精确的位置监视。
我已经打开应用程序半小时了,定位服务没有暂停。我认为自从 Apple 在 iOS 13 中更改位置信息以来就是这种情况?我不太确定。我可以在网上找到的所有文档似乎都已经过时了。
非常感谢任何建议,相关代码如下:
init() {
locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.distanceFilter = 10
locationManager.activityType = .fitness
locationManager.requestAlwaysAuthorization()
locationManager.allowsBackgroundLocationUpdates = true
locationManager.pausesLocationUpdatesAutomatically = true
locationManager.showsBackgroundLocationIndicator = true
locationManager.startUpdatingLocation()
}
func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager) {
delegate?.paused(tracker: self)
print("MT | LOCATION SERVICES PAUSED!") <---- NEVER GETTING CALLED (been running for 40 minutes now, no location updates, still going though?)
// if not already, start region monitoring
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
// Collect data
for location in locations {
print("MT | New Location: \(location)")
}
}
解决方案
推荐阅读
- angular - 如何动态添加到 ionic 应用程序的 CDN 链接
- azure - Tomcat 的 Azure SSO 配置
- c# - 为什么当我在 Elapsed 函数中更改间隔时 C# Timer 会重新启动
- r - 显示单个变量的 ggplot 方面
- java - 使用 Comparator 根据另一个数组(不同长度)对数组进行排序,结果顺序错误
- json-server - json-server --watch db.json in error TypeError: lodash.runInContext is not a function
- php - 如何使用未链接到 Symfony 4 中实体的存储库?
- mysql - mysql json_extract 函数
- php - JQuery 开关滞后于开关所基于的变量一键(从 PHP 文件中检索时)
- python - 如何在 Django REST 框架中处理多个文件上传?