在 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
不像 UIWebView
和 WKWebView
那样对 inspection/interception 开放。考虑到与设备 KeyChain 的控制接口,从安全的角度来看也是有意义的。
您只能给它一个 URL 和一组 2 个可自定义的选项。
恢复到 WKWebView
或最坏情况下 UIWebView
。
感谢我的回答晚了,希望你觉得它有用
我在我的应用程序中使用 SFSafariViewController。当用户播放视频时,我必须显示一个弹出窗口,询问用户是否要下载视频。我已经用 UIWebView 和 AVPlayerItemBecameCurrentNotification 完成了这个。但这在 SFSafariViewController 中不起作用。有人可以给我一个解决方案吗?
这里是添加观察者到SFSafariViewController的代码
NotificationCenter.default.addObserver(self.safariViewController!, selector: #selector(self.playerItemBecameCurrent), name: NSNotification.Name(rawValue: "AVPlayerItemBecameCurrentNotification"), object: nil)
谢谢
老实说,这在 SFSafariViewController
是不可能的。
SFSafariViewController
不像 UIWebView
和 WKWebView
那样对 inspection/interception 开放。考虑到与设备 KeyChain 的控制接口,从安全的角度来看也是有意义的。
您只能给它一个 URL 和一组 2 个可自定义的选项。
恢复到 WKWebView
或最坏情况下 UIWebView
。
感谢我的回答晚了,希望你觉得它有用