ios - 应用程序终止时使用位置更新

标签 ios location core-location

我正在做一个项目,我试图在所有状态下获取位置更新,即使应用程序被终止。我已经使用了所有可能的解决方案,但在终止的情况下仍然无法正常工作。现在我想澄清一个疑问 - 我正在将 startUpdatingLocation() 用于前景和背景。我们知道 startMonitoringSignificantLocationChanges() 是在任何位置更新的情况下重新启动应用程序的唯一方法。我们可以在 applicationWillTerminate() 方法中调用“startMonitoringSignificantLocationChanges()”吗?当有任何重要的位置更新时,它会起作用并重新启动应用程序吗?请告诉我。

谢谢!!

最佳答案

你不能在 applicationWillTerminate() 中这样做,因为闭包现在不会返回值。如果您想一直获取用户位置,请尝试后台模式。

这是 Apple 文档中的描述:

在这种情况下,选项字典传递给 application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions:您的应用程序委托(delegate)的方法包含 key UIApplicationLaunchOptionsLocationKey表示您的应用是由于位置事件而启动的。重新启动后,您仍然必须配置位置管理器对象并调用此方法以继续接收位置事件。当您重新启动位置服务时,当前事件会立即传递给您的委托(delegate)。此外,即使在您启动定位服务之前,您的位置管理器对象的位置属性也会填充最新的位置对象。

它清楚地告诉您如何获取位置。

关于ios - 应用程序终止时使用位置更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34589592/

相关文章:

ios - 使用 iOS App、Swift 获取设备/用户位置的问题

ios - 跨子导航 Controller 传递数据

iphone - 我有一个代表 coredata 的类——我如何添加一个 getter?

ios - 为什么 CAShapeLayer 的描边会超出框架?

javascript - Greasemonkey js 将进入子页面,一次又一次,等待

ios - 您能否通过 iOS 应用确定您的用户所在的国家/地区?

ios - 如果我的应用程序处于终止状态,iOS 区域监控会在我的应用程序上调用 didEnterRegion 吗?

ios - 在 Swift 中解析嵌套数组 JSON

android:我无法停止GPS更新

ios - 在应用程序处于后台时启动 CLLocationManager 位置更新