【问题标题】:Swift WKWebView "Error acquiring assertion" after updating to Xcode 11更新到 Xcode 11 后,Swift WKWebView “获取断言时出错”
【发布时间】:2020-01-22 22:05:04
【问题描述】:

感谢帮助解决以下问题。 更新到 Xcode 11 后出现此问题。

WKWebView 打开一个包含嵌入 Vimeo 视频的网页。 页面加载并显示嵌入式播放器。 当我点击视频进行播放时,我在控制台中收到以下错误:

[断言] 获取断言时出错:{ 用户信息 = { RBSAssertionAttribute = ; } }

[ProcessSuspension] 0x1056fde38 - ProcessAssertion() PID 1887 无法 获取 PID 为 1887 的进程的断言 2019-09-22 11:15:04.570119-0700 testWeb[1887:362082] [进程暂停] 0x1056fde38 - ProcessAssertion::processAssertionWasInvalidated() 2019-09-22 11:15:04.576732-0700 testWeb[1887:362143] [断言] 错误 获取断言:{ 用户信息 = { RBSAssertionAttribute = ; } }

[ProcessSuspension] 0x1056fde88 - ProcessAssertion() PID 1887 无法 获取 PID 1890 进程的断言 2019-09-22 11:15:04.577137-0700 testWeb[1887:362082] [进程暂停] 0x1056fde88 - ProcessAssertion::processAssertionWasInvalidated() 2019-09-22 11:15:05.261258-0700 testWeb[1887:362150] [插件] AddInstanceForFactory:没有为 id F8BB1C28-BAE8-11D6-9C31-00039315CD46 注册工厂

这是在 Xcode 11 上运行的,问题出现在模拟器和运行 iOS 13 和 iOS 12 的设备上。

【问题讨论】:

  • FWIW,我恢复到以前版本的 Xcode,一切都很好。
  • 我在WKWebView 播放 YT 视频时遇到了同样的问题(以及其他问题)。

标签: ios swift wkwebview


【解决方案1】:

WKWebview 模态演示样式从 Xcode 11 与 iOS 13 更改。 我认为只有当您在取消或完成时执行了一些操作并且未处理时才会发生这种情况。 请注意 viewWillAppear 在这种情况下也不会被调用。 尝试实现 willMove(toParent:)isModalInPresentation

【讨论】:

  • willMove(toParent:)条件下需要编码什么?
【解决方案2】:

以下是实现 willMove 的方法。它会阻止屏幕崩溃,但不会阻止 WKWebKit 崩溃。

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

【讨论】:

    【解决方案3】:

    就我而言,我将 viewWillAppear 更改为 viewDidLoad,这解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 2015-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 2021-12-22
      • 2012-03-16
      • 1970-01-01
      相关资源
      最近更新 更多