我正在实施一个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
经过长时间的研究,我发现SFSafariViewController及其代表类SFSafariViewControllerDelegate可以用来显示safari上可用的扫描卡选项,但与WKWebView相比功能有限,所以这取决于你的商业案例是否使用它,但无论如何这是根据我的知识,现在唯一可用的选项。
请注意,为了使其正常工作,您应该通过更改隐私下的设置来启用手机上的扫描卡选项。
此外,您需要确保付款页面包含iOS元标记,以便safari检测信用卡字段。