在 SFSafariViewController 中检测并拦截视频播放

Detecting and intercepting video playback in SFSafariViewController

我在我的应用程序中使用 SFSafariViewController。当用户播放视频时,我必须显示一个弹出窗口,询问用户是否要下载视频。我已经用 UIWebView 和 AVPlayerItemBecameCurrentNotification 完成了这个。但这在 SFSafariViewController 中不起作用。有人可以给我一个解决方案吗?

这里是添加观察者到SFSafariViewController的代码

NotificationCenter.default.addObserver(self.safariViewController!, selector: #selector(self.playerItemBecameCurrent), name: NSNotification.Name(rawValue: "AVPlayerItemBecameCurrentNotification"), object: nil)

谢谢

老实说,这在 SFSafariViewController 是不可能的。

SFSafariViewController 不像 UIWebViewWKWebView 那样对 inspection/interception 开放。考虑到与设备 KeyChain 的控制接口,从安全的角度来看也是有意义的。

您只能给它一个 URL 和一组 2 个可自定义的选项。

恢复到 WKWebView 或最坏情况下 UIWebView

感谢我的回答晚了,希望你觉得它有用