ios - 允许 IOS Webview 通过轮询网络调用在后台运行
问题描述
我们正在构建一个带有 webview 控件的 IOS 应用程序。Webview 加载托管在网络服务器上的反应应用程序。React 应用程序(来自 webview)有一个简短的内部轮询 api 调用,每 20 秒访问一次 api 服务器以获取最新数据。
但是,当前当应用程序进入后台时,webview 和轮询网络调用被暂停。当我将应用程序带到前台时,它会记录为网络错误。
即使应用程序进入后台,我们如何允许 webview 继续进行轮询调用?
解决方案
从后台投票,尤其是在 20 多岁的时候,不仅是一种不好的做法,而且可能会让你的应用被拒绝。你应该做什么:
- 当应用程序将进入后台时删除您的间隔(使用 applicationWillResignActive 委托)
- 发生这种情况时删除您的间隔
- 在 applicationWillEnterForeground 准备重新启动您的轮询间隔
当您的间隔被删除并尽快重新创建时,此工作流程将与快速背景/前景切换一起使用。
推荐阅读
- json - 使用数据工厂将嵌套对象从 SQL Server 复制到 Azure CosmosDB
- c# - Transaction.commit 在实体框架中抛出争论空异常
- c# - 如何使用 C# ZipFile 处理空的 zip 文件
- c++ - @class AVPlayerLayer 的预期不合格 ID
- c# - 如何设置 JsReport .NET 以使用当前的应用程序文件夹
- python - 附加到具有相同键、多个值的字典
- certificate - 有没有办法使用过期证书签署二进制文件?
- ilias - 在 ilUIHookPluginGUI 中获取高级元数据的更简单方法?
- postgresql - PostgreSQL 卡在恢复模式(strace 返回 semop)
- swift - 如何在 macOS 中访问受限文件(/User/user/Library/Messages/xxx)?