首页 > 解决方案 > 允许 IOS Webview 通过轮询网络调用在后台运行

问题描述

我们正在构建一个带有 webview 控件的 IOS 应用程序。Webview 加载托管在网络服务器上的反应应用程序。React 应用程序(来自 webview)有一个简短的内部轮询 api 调用,每 20 秒访问一次 api 服务器以获取最新数据。

但是,当前当应用程序进入后台时,webview 和轮询网络调用被暂停。当我将应用程序带到前台时,它会记录为网络错误。

即使应用程序进入后台,我们如何允许 webview 继续进行轮询调用?

标签: iosswiftwkwebview

解决方案


从后台投票,尤其是在 20 多岁的时候,不仅是一种不好的做法,而且可能会让你的应用被拒绝。你应该做什么:

  • 当应用程序将进入后台时删除您的间隔(使用 applicationWillResignActive 委托)
  • 发生这种情况时删除您的间隔
  • 在 applicationWillEnterForeground 准备重新启动您的轮询间隔

当您的间隔被删除并尽快重新创建时,此工作流程将与快速背景/前景切换一起使用。


推荐阅读