iOS 16.1下自定义键盘扩展WKWebView内容无法加载求助
iOS 16.1真机上键盘扩展WKWebView白屏问题
我有一个基础键盘扩展,在iOS 15系统下运行正常,升级到iOS 16.1后出现异常。该键盘包含一个WKWebView,用于渲染带文本的基础HTML页面。在iOS 16模拟器上所有内容加载正常,但真机运行时出现白屏(WKWebView已加载但内容未显示),同时产生大量错误日志(日志取自「备忘录」应用中测试键盘的过程)。
键盘扩展代码
func makeViewConfiguration() -> WKWebViewConfiguration { let configuration = WKWebViewConfiguration() let dropSharedWorkersScript = WKUserScript(source: "delete window.SharedWorker;", injectionTime: WKUserScriptInjectionTime.atDocumentStart, forMainFrameOnly: false) configuration.userContentController.addUserScript(dropSharedWorkersScript) return configuration } override func viewDidLoad() { super.viewDidLoad() popup = UIView() popup.autoresizingMask = [.flexibleWidth, .flexibleHeight] webView = WKWebView(frame: CGRect(x:100, y:100, width:100, height:350), configuration: makeViewConfiguration()) webView.autoresizingMask = [.flexibleWidth, .flexibleHeight] webView.frame = CGRect(origin: CGPoint.zero, size: popup.frame.size) webView.backgroundColor = UIColor.white webView.uiDelegate = self let contentController = webView.configuration.userContentController contentController.add(self, name: "toggleMessageHandler") popup.addSubview(webView) webView.loadHTMLString("<html><body><p>Hello!</p></body></html>", baseURL: nil) popup.backgroundColor = UIColor.cyan; self.view.addSubview(popup) }
已尝试的解决方案(无改善)
- 禁用Shared Workers
- 开启RequestOpenAccess
- 开启AllowArbitraryLoads
内容的提问来源于stack exchange,提问作者Vlad Constantinescu
相关产品推荐
相关产品推荐

