私はWebビューで簡単なMacOSアプリケーションを構築しようとしています。私はWKWebView
を使用していますが、何もロードしようとしてもWebビューを使わずにWebビューを初期化した直後に、webViewWebContentProcessDidTerminate()
メソッドが呼び出されたのは明らかです。何時間もドキュメンテーションやオンライン上の問題を調査した結果、なぜこれが起こっているのか、それを防ぐ方法を理解することはできません。オンラインで提案された唯一のことは、このような状況が発生したときにWebビューをリロードすることでした。その結果、メソッドが無限に後でもう一度呼び出されるようになりました。私がダウンして、以下のソースコードを完全に空MacOSのアプリになりましたよ:ウェブビューはビュー階層にある場合WKWebViewプロセスが終了する
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()
}
}
は、それは問題ではない、非ゼロのフレームを持っており、それは一般的にあれば可視かどうか。私はまた、すべてを試すために任意の負荷を有効にしました。
私は本当にこれについていくつかの助けに感謝します。私は10.13 SDKに対してコンパイルし、MacOS 10.12で動作しています。
ありがとうございました。