问题标签 [wkurlschemehandler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
460 浏览

wkwebview - 如何启用 WKURLSchemeHandler 来完成主线程的工作?

我试图让 WKURLSchemeHandler 在 WebView 使用自定义 url 方案时提供视频文件。我意识到didReceive(data)可以多次调用它,所以我想出了如何分块加载我的视频文件并将其发回。

问题是所有这些工作都是在主线程上完成的。我找不到如何在后台线程上成功完成此操作的示例。我可以找到的所有 WKURLSchemeHandler 示例,包括此处的 WWDC 演示视频(接近视频结尾)都非常基础。他们都没有展示如何处理大文件,更不用说如何从主线程中推出工作了。

如果我只是将所有内容都包装在 a 中,DispatchQueue.global(qos: .background).async {...}那么我的应用程序崩溃 b/c WebView 会抛出一个带有错误的非托管异常this task has already been stopped

任何人都知道如何成功地做到这一点?

0 投票
0 回答
49 浏览

swift - 如何在 iOS 13 及更高版本的 WKWebView 中拦截(查看)用 React 编写的站点的所有请求?

我无法拦截所有请求,我尝试使用 WKNavigationDelegate、schemeHandler 和一些存储库,但没有任何效果。有没有办法得到它们?