iospermissionscamerawkwebview

iOS WKWebview: Always allow camera permission


Starting iOS 13 onwards Apple allows us to always remember the Allow camera permission flag in iOS Safari. (Referring this answer). Also iOS Twitter PWA has this feature too.

But is there anyway to enable it in WKWebview?

Anyone know how to achieve this?


Solution

  • Add permission by default WebView Permission Decision Grant

    Objective 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);
     
    }
    

    Swift :

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