在 Swift 中运行无头 WKWebView

dur*_*bin 5 safari macos xcode ios swift

Apple 要求所有 Safari 扩展都切换到“Safari App Extensions”,该扩展指定后端使用 Swift 而不是 JavaScript 编写。

为了尽可能地减少重写和复制代码,我想运行一个无头 WKWebView,它运行我当前的 JavaScript 代码,并让 Swift 作为与 WKWebView JavaScript 之间的桥梁。(因为我们要求我们不能使用的JavaScriptCore组件WebKit的API,如WindowXMLHttpRequestlocalstorage,等)

目前,当我尝试将 WKWebView 加载为无头时遇到以下错误,我认为它们与我没有将视图作为子视图添加到任何内容的事实有关。请参阅com.apple.WebKit.WebContent 丢弃 113 错误:找不到指定的服务

2018-12-06 17:36:28.464054-0800 Extension[12768:12452197] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service 2018-12-06 17:36:28.490149-0800 Extension[12768:12452197] Could not signal service com.apple.WebKit.Networking: 113: Could not find specified service

如果有人对 Swift、WKWebView、Safari App Extensions 等有任何经验。您的建议将不胜感激。谢谢阅读!