我正在尝试在 WKWebView 上加载 ApplePay 弹出窗口。我通过实施它做了我最初的腿部工作,但它没有加载。
我需要实施一些额外的东西才能让它发挥作用吗?苹果也没有关于苹果支付的适当文件。
似乎有解决方案:https://webkit.org/blog/9674/new-webkit-features-in-safari-13/
WKWebView 中的 Apple Pay 在 iOS 13 中,WKWebView 中加载的网页现在可以接受 Apple Pay。为了保护 WKWebView 中 Apple Pay 交易的安全性,Apple Pay 不能与 WKUserScript 或 evaluateJavaScript(_:completionHandler:) 等脚本注入 API 一起使用。
如果在网页使用Apple Pay之前调用这些API,Apple Pay将被禁用。如果网页在调用 evaluateJavaScript(_:completionHandler:) 之前使用 Apple Pay,则将使用非零 NSError 调用完成处理程序。每次导航顶部框架时都会重置这些限制。
Apple Pay 仅在 SFSafariViewController 中支持,在 UIWebView 和 WKWebview 中均不支持。
我认为你需要使用 SFSafariViewController.
iOS 10。所有带有安全元件的 iOS 设备都支持 Apple Pay JavaScript。 Safari 和 SFSafariViewControllerobjects 都支持它。
iOS 16 解除了上述 iOS 13 限制:
https://developer.apple.com/documentation/safari-release-notes/safari-16-release-notes
Apple Pay 新功能: 添加了允许将脚本注入到已使用 Apple Pay 的 WKWebView 的支持(反之亦然)。
即使使用脚本注入,WKWebView 上的 Apple Pay 似乎也可以在 Safari 版本 16+ 上使用。
https://developer.apple.com/documentation/safari-release-notes/safari-16-release-notes
Apple Pay 新功能:添加了允许将脚本注入已使用 Apple Pay 的 WKWebView 的支持(反之亦然)。