更新到Xcode 11后,使用Swift的WKWebView出现“获取断言错误”。

15
我需要帮助解决以下问题。 这个问题出现在我升级到Xcode 11之后。
一个WKWebView打开了一个包含嵌入式Vimeo视频的网页。 页面加载并显示嵌入的播放器。 当我点击视频播放时,在控制台中收到以下错误:
[assertion] Error acquiring assertion: { userInfo = { RBSAssertionAttribute = ; } } [ProcessSuspension] 0x1056fde38 - ProcessAssertion() PID 1887 Unable to acquire assertion for process with PID 1887 2019-09-22 11:15:04.570119-0700 testWeb[1887:362082] [ProcessSuspension] 0x1056fde38 - ProcessAssertion::processAssertionWasInvalidated() 2019-09-22 11:15:04.576732-0700 testWeb[1887:362143] [assertion] Error acquiring assertion: { userInfo = { RBSAssertionAttribute = ; } } [ProcessSuspension] 0x1056fde88 - ProcessAssertion() PID 1887 Unable to acquire assertion for process with PID 1890 2019-09-22 11:15:04.577137-0700 testWeb[1887:362082] [ProcessSuspension] 0x1056fde88 - ProcessAssertion::processAssertionWasInvalidated() 2019-09-22 11:15:05.261258-0700 testWeb[1887:362150] [plugin] AddInstanceForFactory: No factory registered for id F8BB1C28-BAE8-11D6-9C31-00039315CD46
这是在Xcode 11上运行,并且这个问题出现在运行iOS 13和iOS 12的模拟器和设备上。

就我个人而言,我回退到了之前的Xcode版本,一切都很好。 - Ataraxian
我在使用WKWebView播放来自YT的视频时遇到了同样的问题(以及其他问题)。 - meaning-matters
3个回答

1
WKWebview在Xcode 11与iOS 13中的模态呈现样式已更改。 我认为只有在取消或完成操作上实现了某些操作且未处理时才会发生这种情况。 请注意,在此情况下也不会调用viewWillAppear。 尝试实现willMove(toParent:)或isModalInPresentation。

1
需要在willMove(toParent:)条件中编写什么代码? - iMinion

0

以下是如何实现willMove的方法。它可以阻止屏幕崩溃,但无法阻止WKWebKit的崩溃。

override func willMove(toParent: UIViewController? ) {
    print("Something")
}

-2
在我的情况下,我将viewWillAppear更改为viewDidLoad,这解决了我的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接