我试图在WKWebView上加载ApplePay弹出窗口。我通过实现它做了我最初的腿部工作,但它没有加载。有没有什么额外的东西我需要实现才能让它工作?苹果也没有关于苹果支付的适当文档。
5kgi1eie1#
似乎有解决办法:https://webkit.org/blog/9674/new-webkit-features-in-safari-13/在iOS 13中,WKWebView中加载的网页现在可以接受Apple Pay。为了保护WKWebView中Apple Pay交易的安全性,Apple Pay不能与WKUserScript或evaluateJavaScript(:completionHandler:)等脚本注入API一起使用。如果在网页使用Apple Pay之前调用这些API,Apple Pay将被禁用。如果在调用evaluateJavaScript(:completionHandler:)之前使用Apple Pay,完成处理程序将被调用,并返回非nil NSError。这些限制将在每次导航顶部框架时重置。
laik7k3q2#
苹果支付只在SFSafariViewController中支持,而在UIWebView和WKWebView中不支持。
zz2j4svz3#
我认为您需要使用SFSafariViewController。iOS 10。Apple Pay JavaScript在所有带有安全元素的iOS设备上都受支持。Safari和SFSafariViewControllerobjects都支持它。
7z5jn7bk4#
iOS 16取消了上述iOS 13限制:https://developer.apple.com/documentation/safari-release-notes/safari-16-release-notesApple Pay新功能:增加了允许脚本被注入到使用Apple Pay的WKWebView中的支持(反之亦然)。
4条答案
按热度按时间5kgi1eie1#
似乎有解决办法:https://webkit.org/blog/9674/new-webkit-features-in-safari-13/
在iOS 13中,WKWebView中加载的网页现在可以接受Apple Pay。为了保护WKWebView中Apple Pay交易的安全性,Apple Pay不能与WKUserScript或evaluateJavaScript(:completionHandler:)等脚本注入API一起使用。
如果在网页使用Apple Pay之前调用这些API,Apple Pay将被禁用。如果在调用evaluateJavaScript(:completionHandler:)之前使用Apple Pay,完成处理程序将被调用,并返回非nil NSError。这些限制将在每次导航顶部框架时重置。
laik7k3q2#
苹果支付只在SFSafariViewController中支持,而在UIWebView和WKWebView中不支持。
zz2j4svz3#
我认为您需要使用SFSafariViewController。
iOS 10。Apple Pay JavaScript在所有带有安全元素的iOS设备上都受支持。Safari和SFSafariViewControllerobjects都支持它。
7z5jn7bk4#
iOS 16取消了上述iOS 13限制:
https://developer.apple.com/documentation/safari-release-notes/safari-16-release-notes
Apple Pay新功能:增加了允许脚本被注入到使用Apple Pay的WKWebView中的支持(反之亦然)。