带有嵌入式 iframe 播放器的 WKWebView 在尝试断开与 airplay 的连接时导致无法访问
WKWebView with embedded iframe player causes bad access when trying to disconnect from airplay
我有一个 WKWebView,它用这个 url 加载请求,它在加载后播放内联视频并且可以切换到全屏,当切换到全屏时,本地 ios 播放器出现,那里该播放器中的 airplay 按钮允许用户通过 airplay 流式传输视频,连接 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 时,连接指示器看起来也很奇怪
最终解决问题的是第三方库,它在 NSObject 上有类别,其中重写了 copyWithZone 方法并导致 BAD_ACCESS,因此删除库并在项目端实现其功能解决了问题。
我有一个 WKWebView,它用这个 url 加载请求,它在加载后播放内联视频并且可以切换到全屏,当切换到全屏时,本地 ios 播放器出现,那里该播放器中的 airplay 按钮允许用户通过 airplay 流式传输视频,连接 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 时,连接指示器看起来也很奇怪
最终解决问题的是第三方库,它在 NSObject 上有类别,其中重写了 copyWithZone 方法并导致 BAD_ACCESS,因此删除库并在项目端实现其功能解决了问题。