在WKWebView中显示“使用摄像头”选项

时间:2017-11-15 07:25:20

标签: ios swift webview wkwebview

我正在实施一个WKWebView,用于加载包含信用卡信息的付款页面;我需要像safari浏览器一样显示“使用相机”选项以及键盘。

我已经为info.plist添加了相机权限,但webview上没有任何工作!我应该选择特定的键盘吗?

我使用的是带有swift 3.2或4.0的iOS 11

这是我的代码

    var webView : WKWebView = WKWebView()
    let configuration = WKWebViewConfiguration()   
    webView = WKWebView(frame: CGRect.zero, configuration: configuration)      
    webView.frame = CGRect(x: 0, y: 20, width: self.view.bounds.width, height: self.view.bounds.height)       
    webView.navigationDelegate = self
    webView.uiDelegate = self
    webView.scrollView.delegate = self
    webView.backgroundColor = UIColor.black
    webView.isMultipleTouchEnabled = false
    self.view.addSubview(webView)

    let newurl = URL(string:"https://xxxxxxxxx")
    let newrequest = URLRequest(url: newurl!)                    
    self.webView.load(newrequest)

加上相机权限

Key       :  Privacy - Camera Usage Description   
Value     :  $(PRODUCT_NAME) Use camera

1 个答案:

答案 0 :(得分:0)

经过长期研究,我发现SFSafariViewController及其委托类SFSafariViewControllerDelegate可用于显示Safari上可用的扫描卡选项,但与WKWebView相比功能有限,所以这取决于您的业务是否可以使用它,但是据我所知,这是目前唯一可用的选项。

请注意,为了使其运行,您应该通过更改隐私下的设置来启用手机上的扫描卡选项。

此外,您需要确保付款页面包含iOS meta标签,以使safari可以检测信用卡字段。