iOS WKWebview:始终允许相机权限

fel*_*wcf 5 permissions camera ios wkwebview

从 iOS 13 开始,Apple 允许我们始终记住 iOS Safari 中的允许相机权限标志。(参考这个答案)。iOS Twitter PWA 也有这个功能。

但是有办法在 WKWebview 中启用它吗?

有人知道如何实现这一目标吗?

小智 8

默认添加权限WebView权限决策授予

目标c:

- (void) webView:(WKWebView *)webView
     requestMediaCapturePermissionForOrigin:(WKSecurityOrigin *)origin
     initiatedByFrame:(WKFrameInfo *)frame type:(WKMediaCaptureType)type
     decisionHandler:(void (^)(WKPermissionDecision decision))decisionHandler
     API_AVAILABLE(ios(15.0))
{
    decisionHandler(WKPermissionDecisionGrant);
 
}
Run Code Online (Sandbox Code Playgroud)

斯威夫特:

func webView(_ webView: WKWebView, 
    requestMediaCapturePermissionFor 
    origin: WKSecurityOrigin,initiatedByFrame
    frame: WKFrameInfo,type: WKMediaCaptureType, 
    decisionHandler: @escaping (WKPermissionDecision) -> Void){
     decisionHandler(.grant)
 }
Run Code Online (Sandbox Code Playgroud)


les*_*syk -1

PWA 没有 API 可以将其从“询问”更改为“允许”。WebKit 上存在一个与此相关的问题:https ://bugs.webkit.org/show_bug.cgi?id=215884 。