iOS Swift 后台位置监控

标签 ios iphone swift background-process

我正在编写一个具有后台位置支持的应用程序。该应用程序需要跟踪用户在送货路线上开车穿过城镇时的位置点。

我使用 CLLocationManager 中的 startUpdatingLocation(),一切正常,直到应用程序在后台运行大约 15 分钟。

然后应用程序似乎终止并且跟踪结束。

我知道这种连续跟踪(即 MapMyRun)必须起作用,但我不知道如何起作用。

编辑:LocationManager配置如下

self.locationManager?.desiredAccuracy = kCLLocationAccuracyBestForNavigation
self.locationManager?.distanceFilter = kCLDistanceFilterNone
self.locationManager?.allowsBackgroundLocationUpdates = true
self.locationManager?.pausesLocationUpdatesAutomatically = false
self.locationManager?.activityType = CLActivityType.automotiveNavigation
self.locationManager?.showsBackgroundLocationIndicator = true

最佳答案

为了让位置更新在后台运行,您需要为您的应用启用后台模式功能。

如果您不这样做,应用程序将在操作系统认为合适的 X 时间后在后台终止。

为了做到这一点点击您的目标,转到功能选项卡,启用背景模式并勾选位置更新。详情请看截图

BG Modes

尝试一下,如果它仍然不起作用,我建议您将您的位置管理器代码上传到某处以查看。

希望对您有所帮助!

关于iOS Swift 后台位置监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52199463/

相关文章:

iphone - 在以编程方式移动的 ScrollView 中检测到 "end decelerating"

ios - 在 iOS 中执行 'order by date' 查询所需的日期格式

iphone - 如何制作一个 iPhone 下拉式按钮

ios - 从函数返回字典还是数组?

ios - 后台使用单个 NSURLSession uploadTaskWithRequest 上传多张图片

带有 Phonegap 1.6.0 的 iOS handleOpenURL

ios - iOS静态库的开放性

objective-c - 从 UIView 的 subview 获取 UINavController?

ios - 实例方法是闭包吗?

Swift iOS TextView 居中并右对齐某些文本