支持位置跟踪的后台模式的 iOS 应用程序会在一段时间后自动关闭(并非在每个 session 中)

标签 ios objective-c core-location ios12

我们的应用程序在后台模式下使用位置跟踪,但在最小化“applicationwillterminate:”方法后,会在 20 到 50 分钟后调用。它只是有时发生,而不是每次发生。

最佳答案

使用 expiration handler 的后台任务。检查backgroundTimeRemaining并在获取位置数据时调用 endBackgroundTask(_:)

If you do not end your tasks in a timely manner, the system terminates your app.

按照 Updating Your App with Background App Refresh 中所述使用后台任务,伺机更新数据。

关于支持位置跟踪的后台模式的 iOS 应用程序会在一段时间后自动关闭(并非在每个 session 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56886314/

相关文章:

ios - NSPredicate 获取具有两个一对多关系的实体

ios - 如何在iOS8中使用MKMapView "Shows User Location"?

iphone - iOS 的自定义控件或框架

objective-c - 将图片从 assets-library 复制到 app 文件夹

ios - 管理 iOS 6 和 iOS 7 支持的最佳方式是什么?

iphone - 是否有用于处理 map 上的区域并计算交叉点、面积等的 iOS API?

swift - 我可以连接到 BLE 设备并同时广播 iBeacon 吗?

ios - 使用 NSURL 运行 swift 代码时出错 EXC_BAD_INSTRUCTION

ios - 没有参数的Swift中的返回函数类型

ios - 使用 pdfKit 的目录中 pdf 的路径