對于單元測驗,我將WKNavigationAction
. 這是一種常見做法,也可以在 Internet 和大型 SDK 中找到。
在 iOS 15 上發布它的一個實體會導致 WebKit 內部崩潰。
堆疊跟蹤:
Thread 1 Queue : com.apple.main-thread (serial)
#0 0x0000000130d8b702 in WTF::RunLoop::dispatch(WTF::Function<void ()>&&) ()
#1 0x0000000134ed41e4 in WebCoreObjCScheduleDeallocateOnMainRunLoop(objc_class*, objc_object*) ()
#2 0x000000011290711d in -[WKNavigationAction dealloc] ()
#3 0x000000010cf2f9f7 in objc_object::sidetable_release(bool, bool) ()
示例游樂場:
import WebKit
class MockNavigationAction: WKNavigationAction {}
var navigationAction: WKNavigationAction? = MockNavigationAction()
navigationAction = nil
非常感謝有關如何解決此問題的建議。
uj5u.com熱心網友回復:
看起來像一個 WebKit 錯誤,您需要啟動框架,否則釋放失敗。
有時在應用程式/測驗啟動期間創建一個虛擬的 webview:
_ = WKWebView()
此解決方法將修復崩潰,因為創建 aWKWebView
將啟動 WebKit 引擎,并且可能會初始化導致崩潰的值。
從理論上講,您不需要上面的代碼,因為您無論如何都必須將WKWebView
實體傳遞給委托方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/338934.html
上一篇:swift5中的模糊深度