当应用在后台模式下同时处于暂停模式时,如何获取位置坐标

时间:2019-05-18 18:08:25

标签: ios swift core-location

我使用了 loc_manager.startMonitoringSignificantLocationChanges(),但没有在前台,后台和挂起模式下调用的UpdateUpdateLocations可以帮助我吗,

override func viewDidLoad() {
super.viewDidLoad()
    loc_manager.requestAlwaysAuthorization()
    loc_manager.allowsBackgroundLocationUpdates = true
    loc_manager.delegate = self
    loc_manager.desiredAccuracy = kCLLocationAccuracyBest
    loc_manager.pausesLocationUpdatesAutomatically = false
    loc_manager.distanceFilter = kCLDistanceFilterNone
}

1 个答案:

答案 0 :(得分:0)

对于前景位置 在前台,CLLocationManager对象和委托会很好地工作。这也将与“使用中”位置权限一起使用。

用于后台位置 请从项目的功能启用后台模式,然后启用“位置更新”。启用此功能后,唯一在后台获取更新(不处于终止状态)的配置是将“ allowsBackgroundLocationUpdates”设置为true(您已经完成)。

有关在后台获取位置的更多信息,请遵循:

https://developer.apple.com/documentation/corelocation/cllocationmanager/1620568-allowsbackgroundlocationupdates

对于应用程序中被暂停或终止的位置 在这里,仅当您希望在应用程序被用户(或挂起)杀死时获取位置时,才需要进行重大位置更改。位置的重大更改将在后台启动应用程序并读取设备的位置。此模式需要“始终授权”位置权限。

有关应用程序处于终止状态的重要位置更改,请点击以下链接。这是在目标C中完成的,但也可以轻松快速地完成。

http://mobileoop.com/getting-location-updates-for-ios-7-and-8-when-the-app-is-killedterminatedsuspended

希望这会有所帮助。