gpt4 book ai didi

ios - didUpdateLocations 仅当应用程序在后台请求位置后进入前台时调用

转载 作者:行者123 更新时间:2023-11-29 05:45:32 25 4
gpt4 key购买 nike

我有一个 iOS 应用程序,它启用了用于远程通知的后台模式。整个过程中使用的 CLLocationManager 实例是通过 requestAlwaysAuthorization 进行授权的。

我有一个内部逻辑,可以在从 didReceiveRemoteNotification 接收静默推送通知 (content-available: 1) 时触发应用程序,进一步调用 requestLocation CLLocationManager 对象上的 code>。

当应用程序位于前台时,一切正常,并且应用程序在接收静默推送后的一段时间内从 iOS 接收位置更新。

但是,当应用程序处于后台时,didReceiveRemoteNotification 会正确触发并调用 requestLocation。但是,此后很长一段时间我都没有收到 didUpdateLocations 的任何点击。此后,当应用程序再次返回前台时,将通过回调接收位置更新。

因此,应用程序似乎正在等待进入前台以触发位置更新(尽管很早以前就已请求)。

  1. 这背后的逻辑推理是什么?或者,这是否特定于任何设备或 iOS 版本?
  2. 有什么办法可以解决这个问题?

最佳答案

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

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

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

关于ios - didUpdateLocations 仅当应用程序在后台请求位置后进入前台时调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56177178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com