gpt4 book ai didi

ios - 进入地理围栏且此时无网络连接时发送请求

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

我的应用程序在关闭时会监听 3 个地理围栏。当进入地理围栏时,标识符被发送到后端。一切都很好,但我还想处理进入地理围栏时没有网络连接的情况。就像等待发送请求直到有连接一样。当应用程序关闭时,这必须起作用。

它仅适用于 iOS 11 或更高版本的设备。等待连接不起作用,我认为是因为地理围栏的时间窗口太小。当我启动应用程序时,特定请求已成功发送,因此它确实有效,但如果应用程序关闭则无效。我必须手动启动应用程序才能在有连接时发送待处理的请求。我还尝试了 dataTask 和 uploadTask,但它们的行为与 waitsForConnectivity 相同。我还认为将来不可能通过计时器调度任务来检查是否存在网络连接?因为应用程序已关闭。这可能吗?我认为做到这一点的唯一方法是使用远程推送通知,但只有 Voip 才允许运行代码作为对推送通知的响应。

我很难相信这是不可能的,因为使用 Android 上的 BroadcastReceiver 就可以轻松做到这一点。

最佳答案

尝试BackgroundFetch

您可以使用这种方法以一定的周期间隔唤醒您的应用,而无需用户交互。一旦您的应用程序唤醒,请检查是否有一些待发送的数据要发送到服务器。如果是,请发送。如果没有互联网连接,没问题,将您的应用程序编程为每隔 5 小时唤醒一次。

// Fetch data once an hour.
UIApplication.shared.setMinimumBackgroundFetchInterval(3600)

像上面这样的简单调用将在 1 小时后唤醒您的应用程序。按照链接中的步骤操作,您就会明白。

关于ios - 进入地理围栏且此时无网络连接时发送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56479265/

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