WKWebView进程终止而没有沙盒授权

smi*_*ley 2 macos cocoa appstore-sandbox wkwebview

我正在尝试使用网络视图构建一个简单的MacOS应用程序。我正在使用WKWebView并且没有明显的原因,webViewWebContentProcessDidTerminate()在初始化Web视图后立即调用该方法,而没有Web视图,甚至尝试加载任何内容。经过数小时的浏览文档和在线问题,我无法弄清楚为什么会发生这种情况以及如何防止这种情况发生。在线建议的唯一一件事是在发生这种情况时重新加载Web视图,这将导致稍后再次调用该方法,以此类推。我现在使用以下源代码浏览一个完全空白的MacOS应用程序:

class AppDelegate: NSObject, NSApplicationDelegate {

    @IBOutlet weak var window: NSWindow!
    var webView: WKWebView!

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        webView = WKWebView(frame: .zero, configuration: WKWebViewConfiguration())
        webView.navigationDelegate = self
    }
}

extension AppDelegate: WKNavigationDelegate {
    func webViewWebContentProcessDidTerminate(_ webView: WKWebView) {
        print("web view process did terminate")
        webView.reload()
    }
}
Run Code Online (Sandbox Code Playgroud)

Web视图是否在视图层次结构中,是否具有非零框架以及通常是否可见均无关紧要。我还启用了任意负载,只是为了尝试所有内容。

我真的很感谢这方面的帮助。我正在针对10.13 SDK进行编译,并在MacOS 10.12上运行。

谢谢。

smi*_*ley 5

我设法弄清楚了。对于其他为此苦苦挣扎的人,您需要将com.apple.security.network.client权利添加到您的应用中。