尝试与 Airplay 断开连接时,带有嵌入式 iframe 播放器的 WKWebView 会导致访问错误
Posted
技术标签:
【中文标题】尝试与 Airplay 断开连接时,带有嵌入式 iframe 播放器的 WKWebView 会导致访问错误【英文标题】:WKWebView with embedded iframe player causes bad access when trying to disconnect from airplay 【发布时间】:2020-05-18 14:16:39 【问题描述】:我有一个 WKWebView,它使用这个 url 加载请求,它在加载后播放内联视频并且可以切换到全屏,当切换到全屏时,会出现本机 ios 播放器,该播放器中有一个播放按钮让用户通过airplay流式传输视频,连接airplay和流式播放、暂停等都没有问题。
问题是,当我尝试将播放从播放切换菜单切换回应用程序时,会导致日志访问异常:
Error acquiring assertion: <NSError: 0x283cbe310; domain: RBSAssertionErrorDomain; code: 2; reason: "Client is missing required entitlement">
userInfo =
RBSAssertionAttribute = <RBSLegacyAttribute: 0x108054960; requestedReason: MediaPlayback; reason: MediaPlayback; flags: PreventTaskSuspend | PreventTaskThrottleDown | WantsForegroundResourcePriority>;
[ProcessSuspension] 0x1183e1018 - ProcessAssertion() PID 29725 Unable to acquire assertion for process with PID 29725[![enter image description here][1]][1]
连接到airplay时连接指示器看起来也很奇怪
【问题讨论】:
【参考方案1】:最终解决了这个问题,它在 NSObject 上有类别,其中覆盖了 copyWithZone 方法并导致 BAD_ACCESS,因此删除该库并在项目端实现其功能解决了问题。
【讨论】:
以上是关于尝试与 Airplay 断开连接时,带有嵌入式 iframe 播放器的 WKWebView 会导致访问错误的主要内容,如果未能解决你的问题,请参考以下文章